重複の可能性:
Pythonのリストのリストからフラットリストを作成する
で、リストをpython 3
に変換するにはどうすればよいですか?[['a'], ['b']]
['a','b']
私は初心者プログラマーであり、この問題を自分で解決することはできませんでした。
重複の可能性:
Pythonのリストのリストからフラットリストを作成する
で、リストをpython 3
に変換するにはどうすればよいですか?[['a'], ['b']]
['a','b']
私は初心者プログラマーであり、この問題を自分で解決することはできませんでした。
これを試して:
a = [['a'],['b']]
a = [item for list in a for item in list]
print a
>>>['a', 'b']
試す:
[i[0] for i in [['a'], ['b']]
>>> ['a','b']
itertools
具体的には、を使用しますitertools.chain
(これは、独自の方法を考案するよりもはるかに優れています)。
>>> l = [['a'], ['b']]
>>> print(list(itertools.chain.from_iterable(l)))
['a', 'b']
これは、純粋なリスト内包表記ソリューションよりも高速です。
$ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' '[item for sublist in l for item in sublist]'
10000 loops, best of 3: 53.9 usec per loop
$ python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'list(itertools.chain.from_iterable(l))'
10000 loops, best of 3: 29.5 usec per loop
(この質問から適応したテスト)