Re: [問題] for迴圈問題

看板Python作者 (←這人是超級笨蛋)時間12年前 (2013/07/11 17:33), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/7 (看更多)
※ 引述《WaiTingKuo (:!)》之銘言: : In [12]: a = [1, 2, 3, 4, 5, 6] : In [13]: for x, y, in zip(*[iter(a)]*2): : ....: print x, y : ....: : 1 2 : 3 4 : 5 6

07/12 00:55,
請問*[iter(a)]是什麼意思...@@?
07/12 00:55
你的運算優先權錯了 =p a 是 list (i.e. a 是 iterable) iter(a) 會得到 a 的 iterator [iter(a)] 就包成一個單一元素的 list [iter(a)] * 2 會得到一個有兩個元素的 list(而且兩個元素會相同) *[iter(a)] * 2 會把這個 list 展開成 zip 的兩個參數 事實上 zip(*[iter(a)]*2) 就等同於 a_iter = iter(a) zip(a_iter, a_iter) 事實上由於 iter 是回傳 reference, zip(iter(a), iter(a)) 也完全對等 如果是我的話應該會這樣寫, 我個人很討厭 list 乘法... 用 iter 的好處是不用複製一個 list, 也不會需要大量 random access 所以效率會比較好 -- 「我最想要的同伴嘛,首先是要笑口常開,其次是我們能永遠不會發生誤會。 如果這些都能辦到的話,嗯,如果他是世界上第一流的橋手,也還不錯。」 -- 班尼多‧加羅素,前義大利藍隊成員 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (07/12 01:34)

07/12 02:32, , 1F
優先權的問題我也想了一下,這行 code 的濃度很高阿!
07/12 02:32, 1F

07/13 16:35, , 2F
喔喔... 謝謝!
07/13 16:35, 2F
文章代碼(AID): #1HtknTBv (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
問題
1
3
完整討論串 (本文為第 4 之 7 篇):
問題
1
3
問題
1
2
問題
1
4
文章代碼(AID): #1HtknTBv (Python)