3

次のリストがある場合:

["A","Bb","C","D","E","F","G"]

以下を出力できるように、それを反復するにはどうすればよいですか。

"A Bb C"
"D E F"
"G"
4

3 に答える 3

4

ぶらぶらし続けているレシピです。

def chunks(l, n):
    for i in xrange(0, len(l), n):
        yield l[i:i+n]
于 2013-08-23T09:45:32.480 に答える
3

[0:3][3:6][6:9]、 ...のサブリストを取得する

>>> xs = ["A","Bb","C","D","E","F","G"]
>>> [' '.join(xs[i:i+3]) for i in range(0, len(xs), 3)]
['A Bb C', 'D E F', 'G']
于 2013-08-23T09:43:46.277 に答える
3

ここで使用できitertools.izip_longestます:

>>> from itertools import izip_longest
>>> L = ["A","Bb","C","D","E","F","G"]
>>> for item in izip_longest(*[iter(L)]*3, fillvalue=''):
...     print ' '.join(item)
... 
A Bb C
D E F
G  
于 2013-08-23T09:47:08.013 に答える