2012-11-24 5 views

답변

3

이 시도 :

a = [['a'],['b']] 

a = [item for list in a for item in list] 
print a 
>>>['a', 'b'] 
+0

이것은 완벽하게 작동하는 것 같습니다! 모두들 당신의 도움에 감사드립니다! –

2

시도 :

[i[0] for i in [['a'], ['b']] 
>>> ['a','b'] 
+1

약 2 요소의 하위 목록은 무엇입니까? –

+1

이것은'[[ 'a', 'b'], [ 'c', 'd']]'에서는 작동하지 않습니다. –

+3

@AshwiniChaudhary이 행의 작업은 묻는 질문에 달려 있습니다. – alexvassel

2

사용 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 질문에서 적응 시험)

+0

어때 ~'sum (l, [])'? –

+0

@RohitJain 그것도 가능하지만'itertools'만큼 효율적이지는 않을 것입니다. – arshajii

+0

흠. 글쎄, 성능에 대해서는 모르겠다. 그래서, 나는 당신의 요점을 받아 들일 것입니다. –

관련 문제