看板 Python 關於我們 聯絡資訊
以下代碼如果用 Default = False 跑迴圈的時候會說 default reference before assignment https://i.imgur.com/giv72v8.jpg 但如果把 Default 改成一個List 然後指到list 的第0位 卻可以成功執行 請問為什麼python的資料結構只能參照外面的list 跟dic ? 不能參照外面的單一variabl e嗎? https://i.imgur.com/uRoopVD.jpg 懇請解惑謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.118.109 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1590255555.A.A8F.html
nevak: dfs內先寫global default試試05/24 02:43
nevak: 另外問一下把default寫在function外面有什麼特別的原因嗎05/24 02:46
我是要用default,來判定有沒有符合情況~~~沒有就false 有就true
s0914714: 因為list是mutable所以default元素操作是參照global05/24 04:22
s0914714: default變數部分 因為dfs function中對default賦值05/24 04:25
s0914714: 所以default視為local造成上面的default==True出錯05/24 04:25
s0914714: https://reurl.cc/9EW90d local/global variables rules05/24 04:28
s0914714: 如果你在dfs內做default+=[1],default一樣會變local05/24 04:34
了解了 感謝! ※ 編輯: lemonrude (111.250.118.109 臺灣), 05/24/2020 12:37:36
TuCH: 為什麼要多寫一個fun在裡面呢 05/24 13:54
cuteSquirrel: 猜是解題需要,所以寫了nested func去跑DFS 05/24 13:56
darama: trategy/ 05/24 16:32