[英]Python : why results are same when i put int or list or tuple in list?
>>> 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]
我是 Python 的初學者。 我嘗試將20
更改為100, 200
,因此我嘗試了 3 種插入這兩個數字的方法:整數、列表和元組。 為什么在 aa[1:2] 中插入整數或列表或元組時結果相同?
通過使用aa[1:2]
,您正在使用切片分配修改列表項。 切片分配用指定的任何新項目替換指定的項目(或多個項目),在這種情況下是aa
的第二個項目。 我將通過每種類型來澄清正在發生的事情
Ints - aa[1:2] = 100, 200
:這個例子是最清楚的。 我們將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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.