一个Python列表的问题 reverse()

作者&投稿:国夜 (若有异议请与网页底部的电邮联系)
我用python编程,关于list.reverse()的问题。~

因为python中list和dict都是所谓的“传址”,也就是list2=list1,只是把list1的地址赋值给list2,这时候他们指向同一个内存地址,也就是同一个数据[1,2,3,4],这之后你调用list1.reverse(), 修改了内存里的数据,所以list2也就变了。

如果解决了您的问题请采纳!

如果未解决请继续追问

你买的是假书,提示很明确告诉你了,元组是没有reverse属性。
元组相当于只读的列表,是不能排序、反转的。
改成 列表
a=[1,2,3,4]
就对了

In [1]: a = [1,2,3,4]
 
In [2]: a.reverse()

In [3]: a
Out[3]: [4, 3, 2, 1]

a.reverse()是将a的元素反向排序,返回None,所以b是空的。


如果解决了您的问题请采纳!
如果未解决请继续追问!



a=[1,2,3,4]
a.reverse()
print(a)
列表的reverse方法是对列表本身进行修改,它的返回值为空,执行reverse后a列表本身被反向,

你好:
reverse是可变对象(字典、列表)的方法,无参数,无返回值,
reverse()会改变可变对象,因此无需返回值。
reverse()方法是可变对象独有的方法或者属性,
而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回一个异常。

print li[1:] #输出[2,3,4,5,6,7],省略终止索引,表示取起始索引之后的所有值,等效于li[1:len(li)]
print li[:3] #输出[1,2,3],省略起始索引,表示从0开始取,等效于li[0:3]
print li[:] #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]
print li[::] #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]
print li[::-1] #输出[7,6,5,4,3,2,1],省略起始索引、终止索引,步长值为-1,表示反向获取

不研究源码的话,就只好先记着这就是一个快捷的用法
http://zhidao.baidu.com/link?url=5XVWw-2MyJEdms-iuk5lGm-tdBcz8iQyC8Kt13F9nvjy7RUG_l5TqxI8ooduZ8RWPVCodb5MM-E86Ti8S6Jt9_


python 产生一个0到100的列表
这个可以用list函数来解决,具体方法如下:l=list(range(101))print(l)用列表解析也可以,方法如下:l=[i for i in range(101)]print(l)运行结果截图如下(两种方法输出都是一样的):

Python中,哪些表示列表?
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?( C)C.集合 --- 1.【填空】有两个列表 a = ["name","age","sex"],b = ["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。dict(zip(a, b)...

Python创建一个一维列表,列表包含n个元素,n由键盘输入,列表元素由1...
代码如下,仅供参考:from random import randintamount = int(input("随机数数量:"))result = [randint(1,100) for i in range(amount)]print(result)输入:10 输出:[2, 65, 58, 24, 15, 12, 38, 24, 18, 79]

python如何合并两个列表?
python合并两个列表的方法:1、可以使用加法方法实现列表合并,例“c = a+b”;2、可以通过python的extend方法完成列表合并,例“a.extend(b)”。python合并两个列表的方法:首先打开代码编辑器,进入代码编译环境 第一种使用加法方法实现列表相加 a = [1,2,3]b = [4,5,6]c = a+b 使用编译...

为什么Python中输出的是一个列表而不是一个元组?
原因:是因为少了一个参数“Y”,把参数“Y”加上去就可以了。Python的基本语法:Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有...

python把列表前几个元素提取到新列表
python把列表前几个元素提取到新列表步骤如下:1、打开python语言命令窗口,定义一个列表变量C并进行赋值。2、利用获取列表中的序号,获取对应的元素,然后将这些元素拼接成一个新的列表。3、还可以定义一个空列表,然后使用for...in语句循环生成元素,装载到空列表中。4、除了上述两种方法之外,还可以...

python编程:输入若干个以空格分隔的数,存储在一个列表中,求出其中的...
要使用Python编程实现输入若干个以空格分隔的数,存储在一个列表中,并求出其中的最大值,可以按照以下步骤进行:1. 首先,使用`input()`函数接收用户输入的以空格分隔的数。2. 使用`split()`方法将输入的字符串按空格分隔,得到一个包含各个数的字符串列表。3. 使用`map()`函数将字符串列表转换为...

python类中两个列表实例如何相加或相减
import numpy a = [1, 2, 3, 4]b = [5, 6, 7, 8]a_array = numpy.array(a)b_array = numpy.array(b)c_array = a_array + b_array d_array = a_array - b_array print c_array print d_array

python一个列表中元素为元祖,想要根据元祖的第二个值进行排序,怎么做...
1、说明 1)序列是python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现。2)元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表...

python中列表和元组之间有什么区别?
它可以具有很多优点。官方Python文档也提到了这一点 “组是不可变的,并且通常包含一个异类序列…”。在像Haskell这样的静态类型语言中,元组中的值通常具有不同的类型,并且元组的长度必须固定。在列表中,所有值都具有相同的类型,并且长度不是固定的。因此区别非常明显。

黔东南苗族侗族自治州18966327273: 一个Python列表的问题 reverse() -
包叶汇新: a=[1,2,3,4] a.reverse() print(a) 列表的reverse方法是对列表本身进行修改,它的返回值为空,执行reverse后a列表本身被反向,

黔东南苗族侗族自治州18966327273: 我用python编程,关于list.reverse()的问题. -
包叶汇新: 因为python中list和dict都是所谓的“传址”,也就是list2=list1,只是把list1的地址赋值给list2,这时候他们指向同一个内存地址,也就是同一个数据[1,2,3,4],这之后你调用list1.reverse(), 修改了内存里的数据,所以list2也就变了.如果解决了您的问题请采纳!如果未解决请继续追问

黔东南苗族侗族自治州18966327273: 一个python列表的问题 -
包叶汇新: 不建议这样写,这样做会使得代码非常难以维护,其实用一个dict就可以解决这个问题g_data = { }def genlist( name ,data ): global g_data g_data.setdefault( name ,[ ] ).append( data )genlist( 'list1' ,'123' )print( g_data )

黔东南苗族侗族自治州18966327273: python 问题,具体有图 -
包叶汇新: def reverse(text): origal = list(text) rev = origal[::-1] new = ''.join(list(rev)) return new

黔东南苗族侗族自治州18966327273: python中的列表问题 -
包叶汇新: [n]是从0计数的 list[0] = 1 list[3] = 4 list[:3]等于list[0:3] = [1,2,3], 不包括list[3] list[4:]等于list[4:len(list)]是None

黔东南苗族侗族自治州18966327273: python列表的问题 比如有这样一个列表 i=[[1,2,3],[4,5,6],[7,89]]要 -
包叶汇新: 可以把这个list看成一个二维数组,则1 的索引就是 i[0][0], 9的索引就是i[2][2].

黔东南苗族侗族自治州18966327273: python中关于reverse的代码应该怎么打? -
包叶汇新: 题目不允许使用reversed或者[::-1],下面另外提供两种方法.1. 反向for循环def reverse(text): ret = "" for i in range(len(text)-1, -1, -1): ret = ret + text[...

黔东南苗族侗族自治州18966327273: 一个python list的问题 -
包叶汇新: 怎么写的这么复杂啊…… 正确的python代码风格应该是下面两种. 总的来说,用map并不是一个最优的选择,更建议用 list comprehension 来解决类似问题. 用map: name = ['jim','tom','koii'] name = list(map(lambda x: x.capitalize()), name)) # ...

黔东南苗族侗族自治州18966327273: python 列表操作的一个问题 -
包叶汇新: 我也不知道为什么.不过我做了试验.print 2 in list == False 返回也是False print 2 in list == list 返回结果是True>>> print 2 in list == [] False>>> print 2 in list == [1] False>>> print 2 in list == [2] False>>> print 2 in list == [1,2,3] True>>> 从这个结果来看,python似乎做了一个特殊的运算.print 1 == 1 == 2 是一个三元计算

黔东南苗族侗族自治州18966327273: python列表问题listb[0]=lista[4] listb[1]=lista[3] -
包叶汇新: 如果你想要不同的结果,你要用 listb=lista[:] #复制lista因为listb=lista意指两者相同,指向同一个对象.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网