交換兩個元素我已經寫了一個稱爲邊緣種類一些像這樣的麻煩:當Python列表
class Edge:
def __init__(self):
...
...
然後我產生一些邊緣
a1 = Edge()
a2 = Edge()
a3 = Edge()
graph = [a1,a2,a3]
現在我想換了A1, A3。所以我寫道:
graph[0],graph[2] = graph[2],graph[0]
我認爲圖表已經被這樣交換。
>>>graph
>>>[a3,a2,a1]
,但結果是圖形還是起源graph>>>[a1,a2,a3]
所以我想問一下爲什麼這個happend?有沒有其他的解決方案來交換圖表?
你能寫一個真正簡短的代碼片段嗎?如果沒有,那麼可能圖形或邊緣覆蓋某個操作符。它按預期工作,l = [1,2,3]; l [2],l [0] = 1 [0],l [2];打印l –
我相信列表元素已被交換,但其他事情是錯誤的。你如何分辨a1,a2和a3之間的區別? –