簡體   English   中英

Python:為什么當我將 int 或 list 或 tuple 放入列表時結果相同?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM