我可以用Python這種奇怪的行爲掙扎(2,3):奇怪的直列分配
>>> a = [1, 2]
>>> a[a.index(1)], a[a.index(2)] = 2, 1
這導致:
>>> a
[1, 2]
但是,如果你寫
>>> a = [1, 2]
>>> a[a.index(1)], a[a.index(2)] = x, y
其中x, y != 2, 1
(可以是1, 1
,2, 2
,3, 5
等),這導致:
>>> a == [x, y]
True
正如人們所期望的那樣。爲什麼a[a.index(1)], a[a.index(2)] = 2, 1
產生結果a == [2, 1]
?
>>> a == [2, 1]
False
你問了一個奇怪的問題。爲什麼'a [a.index(1)],[a.index(2)] = 2,1'什麼都打印? :) – Alik
我的意思是當請求的價值。我在濫用記譜法。 XD – Dargor
相關(和迂迴):http://stackoverflow.com/q/32127908/3001761 – jonrsharpe