Re: [問題] for迴圈問題
※ 引述《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
這麼高段的技巧當然不是我想出來的啦XD
之前在看python document的時後覺的蠻好用的就記下來了
http://docs.python.org/2/library/functions.html#zip
基本上的想法就是把同個iterator丟兩份到zip裡面
等價於
In [16]: b = iter(a)
In [17]: zip(b, b)
Out[17]: [(1, 2), (3, 4), (5, 6)]
至於第一個* 那個叫Unpacking Argument Lists
http://docs.python.org/2/tutorial/controlflow.html#arbitrary-argument-lists
我不太清楚中文有沒有什麼好名字,反正就是把list展開一個一個丟到function裡
In [18]: def f(a, b, c):
....: print a, b, c
....:
In [19]: f(*[1, 2, 3])
1 2 3
放在這裡的好處就是少寫一行
一開始可能看起來怪怪的,看久了會比寫兩行更直覺
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.138.63
→
07/12 22:52, , 1F
07/12 22:52, 1F
推
07/13 16:35, , 2F
07/13 16:35, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
4
5
以下文章回應了本文:
問題
2
4
完整討論串 (本文為第 6 之 7 篇):
問題
2
4
問題
1
2
問題
1
3
問題
1
2
問題
4
5
問題
1
4