[問題] 關於linked list
小弟在自學用python練習寫linked list
還很菜 但身邊沒朋友 所以上來問
先附上我的程式碼
https://i.imgur.com/LedXkL0.jpg

這是leetcode的題目(206-reverse linked list)
因為不熟悉python資料結構的實作方式
所以模仿了一下網路上大神的一個做法
這是一題要反轉linked list的題目
最下方while迴圈就是在做reverse
想問一下 為什麼上方圖片執行後會有如下Error ?
https://i.imgur.com/wPC5afA.jpg

而如果把最下面while迴圈內的那一行,改成註解的那一行,
也就是說把while迴圈內的statement
從原本
dummy.next, head, head.next = head, head.next, dummy.next
改成
dummy.next, head.next, head = head, dummy.next, head.next
請問為什麼就能正常執行呢?
https://i.imgur.com/TlO4dmh.jpg

這是編譯器發現什麼錯誤呢?
感謝眾大神~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.57.36 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1577909487.A.ADD.html
再多問一個很基本,但我卻不知道的事
下面這一個statement
a, b, c = 3, 4, 5
想請問編譯器作的順序是由右至左先做a = 3,然後b = 4,再來c = 5?
還是三個是不分順序同時賦值的呢?
似乎是不分順序同時賦值?
https://i.imgur.com/1cH8O1O.jpg

如果是不分順序,那麼為什麼原文我說的問題會錯呢QQ? (想了甚久...
※ 編輯: yulin0619 (114.43.57.36 臺灣), 01/02/2020 04:18:57
※ 編輯: yulin0619 (114.43.57.36 臺灣), 01/02/2020 04:26:29
推
01/02 06:07,
5年前
, 1F
01/02 06:07, 1F
→
01/02 06:07,
5年前
, 2F
01/02 06:07, 2F
→
01/02 06:08,
5年前
, 3F
01/02 06:08, 3F
你的留言再加上下方大大的留言,我就豁然開朗了~~
推
01/02 06:27,
5年前
, 4F
01/02 06:27, 4F
→
01/02 06:27,
5年前
, 5F
01/02 06:27, 5F
→
01/02 06:27,
5年前
, 6F
01/02 06:27, 6F
→
01/02 06:28,
5年前
, 7F
01/02 06:28, 7F
原來python在執行這個statement時,他的操作是這樣做的
→
01/02 06:29,
5年前
, 8F
01/02 06:29, 8F
→
01/02 06:29,
5年前
, 9F
01/02 06:29, 9F
→
01/02 06:30,
5年前
, 10F
01/02 06:30, 10F
→
01/02 06:31,
5年前
, 11F
01/02 06:31, 11F
那這樣我清楚明白了 謝謝你們
※ 編輯: yulin0619 (114.43.57.36 臺灣), 01/02/2020 14:29:38
Python 近期熱門文章
PTT數位生活區 即時熱門文章