Re: [問題] 找graph中兩點的所有可能路徑

看板Python作者 (allstar)時間15年前 (2009/12/10 20:40), 編輯推噓1(1012)
留言13則, 5人參與, 最新討論串3/3 (看更多)
借題發問一下 [ new_paths.extend(extend_path(p)) for p in paths] 請問這行的 [] 是做什麼用的? 我嘗試把 [] 去掉,結果 python 回報文法錯誤 是為了把多行程式縮在一起才這樣用的嗎? 如果是的話,這種寫法有沒有什麼限制呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.56.72

12/10 21:25, , 1F
喔,這當然不能拿掉
12/10 21:25, 1F

12/10 21:25, , 2F
找到一個 generator 好像有點像,可是也沒看到直接加 [] 耶
12/10 21:25, 2F

12/10 21:25, , 3F
這個作法其實很像如下程式碼:
12/10 21:25, 3F

12/10 21:26, , 4F
for p in paths:
12/10 21:26, 4F

12/10 21:26, , 5F
new_pahth.extent(exten_path(p))
12/10 21:26, 5F

12/10 21:55, , 6F
這是 list comprehension。
12/10 21:55, 6F

12/10 22:04, , 7F

12/10 22:13, , 8F
終於弄懂了,感謝。沒想到它真的是代表 list ...
12/10 22:13, 8F

12/11 16:55, , 9F
不過不是直接寫
12/11 16:55, 9F

12/11 16:56, , 10F
for p in paths: new_paths.extend(extend_path(p))
12/11 16:56, 10F

12/11 16:56, , 11F
就好了嘛?? 還是有其他考量啊
12/11 16:56, 11F

12/11 19:19, , 12F
因為本來的形式是 [ xxx for xxx if xxx ],改寫成現在模樣但
12/11 19:19, 12F

12/11 19:20, , 13F
沒把 [ ] 拆開.
12/11 19:20, 13F
文章代碼(AID): #1B8En5Cs (Python)
文章代碼(AID): #1B8En5Cs (Python)