가능한 중복 :
Making a flat list out of list of lists in Python[ 'A', 'B']로 목록 [] 'A'], [ 'B'를] 변환
python 3
에서
, [['a'], ['b']]
을 ['a','b']
으로 변환하려면 어떻게해야합니까?
저는 초보 프로그래머이며이 문제를 직접 해결할 수 없었습니다.
가능한 중복 :
Making a flat list out of list of lists in Python[ 'A', 'B']로 목록 [] 'A'], [ 'B'를] 변환
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']
약 2 요소의 하위 목록은 무엇입니까? –
이것은'[[ 'a', 'b'], [ 'c', 'd']]'에서는 작동하지 않습니다. –
@AshwiniChaudhary이 행의 작업은 묻는 질문에 달려 있습니다. – alexvassel
사용 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
(this 질문에서 적응 시험)
어때 ~'sum (l, [])'? –
@RohitJain 그것도 가능하지만'itertools'만큼 효율적이지는 않을 것입니다. – arshajii
흠. 글쎄, 성능에 대해서는 모르겠다. 그래서, 나는 당신의 요점을 받아 들일 것입니다. –
"목록을 평평하게"검색합니다. –
중복되는 것 외에도 무엇을 시도 했습니까? – phant0m