Python中list[1]和list[1:]之间有什么区别?

2024-06-26 00:14:12 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> 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, [...] ]?

打扰一下,代码有什么不同?是:,还是别的什么?在


Tags: 代码isnotprintbecomedoeswhy
3条回答

slicing用于提取列表的sublist,其中asindexing用于检索列表的特定元素

slicedList = aList[beginIndex:endIndex]

d[1:]表示对列表进行切片d-引用this。-这是切片

c[1]是列表c的一个元素。-这是索引

您使用的是一个索引和一个切片分配,它们完全不同。在

将其与在表达式中对列表进行索引和切片进行比较:

>>> c=[1,2,3]
>>> c[1]
2
>>> d=[1,2,3]
>>> d[1:]
[2, 3]

通过在列表索引中使用:冒号,您请求的是一个切片,它总是另一个列表。在

在Python中,可以为列表中的单个项和列表的一部分赋值。在

print(c) [1, [...], 3] # Why does C become [1, [...], 3]?

当您执行c1=c时,您将c本身分配到c的第二个位置参考。所以interprepreter显示[…]以指示其循环引用,而不是再次显示该列表。See this for more info

相关问题 更多 >