簡體   English   中英

Python分配的奇怪效果?

[英]Strange Effect of Python Assignment?

眾所周知,對於Python,我們可以輕松地在一行中分配多個變量。 但是在這里我遇到一個奇怪的情況。 說我們有一個清單:

x = [1, 2, 3, 4]

然后,我們做

x[0], x[x[0]] = 2, 1

最后,我們會得到

x = [2, 2, 3, 4]

代替

x = [2, 1, 3, 4]

誰能解釋這是怎么回事? python如何在一行中實現多變量分配?

提前致謝。

結果列表不是[2, 2, 3, 4] ,而是[2, 2, 1, 4] x[0]賦值2 ,然后x[x[0]]變為x[2]並賦值1

這里發生的是,python首先執行您的第一條指令。 x[0]= 2

因此,在第一次執行后, x=[2,2,3,4]

然后執行第二個。 因此它改變了x[2]的值

第2次執行后, x=[2,2,1,4]

並給出結果為[2, 2, 1, 4]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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