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