>>> 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