Python:为什么在列表中放入int、list或tuple时结果相同?

Python:为什么在列表中放入int、list或tuple时结果相同?,python,list,integer,tuples,Python,List,Integer,Tuples,我是Python的初学者。我试图将20更改为100200,因此我尝试了三种插入这两个数字的方法:整数、列表和元组。为什么在aa[1:2]中插入整数、列表或元组时结果相同?通过使用aa[1:2],您正在使用切片分配修改列表项。切片分配用指定的任何新项目替换指定项目,在这种情况下,aa中的第二个项目。我将逐一介绍每种类型,以澄清发生了什么 Ints-aa[1:2]=100200:这个例子最清楚。我们正在用该站点列表中的两个整数替换aa[1:2] 列表/元组:这个示例演示了切片分配的工作原理——它不是

我是Python的初学者。我试图将
20
更改为
100200
,因此我尝试了三种插入这两个数字的方法:整数、列表和元组。为什么在aa[1:2]中插入整数、列表或元组时结果相同?

通过使用
aa[1:2]
,您正在使用切片分配修改列表项。切片分配用指定的任何新项目替换指定项目,在这种情况下,
aa
中的第二个项目。我将逐一介绍每种类型,以澄清发生了什么

Ints-
aa[1:2]=100200
:这个例子最清楚。我们正在用该站点列表中的两个整数替换
aa[1:2]

列表/元组:这个示例演示了切片分配的工作原理——它不是向列表中添加列表,而是将新列表扩展到旧列表中。元组的工作方式相同。要替换该项并添加列表或元组,请先将列表或元组包装到另一个列表中:

>>> aa = [10, 20, 30]
>>> aa[1:2] = 100, 200
[10, 100, 200, 30]

>>> aa = [10, 20, 30]
>>> aa[1:2] = [100, 200]
[10, 100, 200, 30]

>>> aa = [10, 20, 30]
>>> aa[1:2] = (100, 200)
[10, 100, 200, 30]

不是很清楚的声明。你一开始是怎么得到aa[1:2]=100200的?它怎么会有什么不同呢?
>>> aa = [10, 20, 30]
>>> aa[1:2] = [[100, 200]]
[10, [100, 200], 30]

>>> aa = [10, 20, 30]
>>> aa[1:2] = [(100, 200)]
[10, (100, 200), 30]