1

リスト内包表記などを使用して、多くのリストを結合する巧妙な方法は何でしょうか

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [7,8,9]
>>> d = [x for x in a or b or c]
>>> d
[1, 2, 3]

これがなかなかうまくいかない…

4

3 に答える 3

5
>>> a + b + c
[1, 2, 3, 4, 5, 6, 7, 8, 9]

リスト内包表記の使用:

>>> [y for x in (a,b,c) for y in x]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

使用itertools.chain:

>>> from itertools import chain
>>> list(chain(a,b,c))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
于 2013-05-29T02:09:17.143 に答える
3

別の解決策:

>>> sum([a,b,c],[])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
于 2013-05-29T02:30:14.617 に答える
2

どうですか:

d=a+b+c

リストを合計します。

または、これを行うことができます:

>>> d=[]
>>> for l in (a,b,c): d.extend(l)
于 2013-05-29T02:09:23.647 に答える