>>> c=[1,2,3]
>>> c[1]=c
>>> d=[1,2,3]
>>> d[1:]=d
>>> print(c)
[1, [...], 3] # Why does C become [1, [...], 3]?
>>> print(d)
[1, 1, 2, 3] # Why is d not [1, [...] ]?
不好意思,代码在哪里不一样?是:
还是别的?Python中list [1]和list [1:]之间的区别是什么?
>>> c=[1,2,3]
>>> c[1]=c
>>> d=[1,2,3]
>>> d[1:]=d
>>> print(c)
[1, [...], 3] # Why does C become [1, [...], 3]?
>>> print(d)
[1, 1, 2, 3] # Why is d not [1, [...] ]?
不好意思,代码在哪里不一样?是:
还是别的?Python中list [1]和list [1:]之间的区别是什么?
您正在使用索引和切片分配,这是非常不同的。
在表达索引和切片列表比较:
>>> c=[1,2,3]
>>> c[1]
2
>>> d=[1,2,3]
>>> d[1:]
[2, 3]
通过在列表索引使用:
冒号,你所要求的切片,这始终是另一个列表。
在Python中,您可以将值分配给列表中的单个项目以及列表的一个片段。
非常感谢你 –
slicing
被用于提取的列表的sublist
其中作为indexing
用于以检索列表中的一个特定的元素
slicedList = aList[beginIndex:endIndex]
d[1:]
指切片列表d
- 参见this。 - 这是切片
c[1]
是列表c
中的元素。 - 这是索引
非常感谢你 –
print(c)[1,[...],3]#为什么C变成[1,[...],3]?
当你在做c 1 = c时,你将c本身分配给c的第二个位置。这样您就可以创建循环引用了。因此,而不是再次显示列表,interprepreter显示[...]以指示其循环引用。 See this for more info
非常感谢你 –
为什么你在自己的内部嵌套列表? – 2012-10-05 11:36:29