2015-01-06 5 views
0

나는 데이터의 목록을 가지고 :목록에서 튜플 괄호를 나누는 방법?

[[], [], [(2, 3), (2, 7), (3, 2), (7, 2)], [(2, 3), (3, 2), (3, 7), (7, 3)], [], [], [], [(2, 7), (3, 7), (7, 2), (7, 3)], [], []] 

내가 [(2, 3), (2, 7), (3, 2), (7, 2)](2,3,2,7,3,2,7,2)이 될 수 있도록 튜플에 브래킷을 제거합니다.

바로 가기가 있습니까?

+0

나는 속는 가까이가 올바른지 생각하지 않습니다. OP는 가장 바깥 쪽 목록을 유지하고 내부 목록을 풀기를 원할 것 같습니다. NPE는이 문제에 효과적으로 대답했습니다. – Ffisegydd

답변

3

으로이 작업을 수행 할 수 있습니다

In [6]: l = [[], [], [(2, 3), (2, 7), (3, 2), (7, 2)], [(2, 3), (3, 2), (3, 7), (7, 3)], [], [], [], [(2, 7), (3, 7), (7, 2), (7, 3)], [], []] 

In [7]: [tuple(itertools.chain(*el)) for el in l] 
Out[7]: 
[(), 
(), 
(2, 3, 2, 7, 3, 2, 7, 2), 
(2, 3, 3, 2, 3, 7, 7, 3), 
(), 
(), 
(), 
(2, 7, 3, 7, 7, 2, 7, 3), 
(), 
()] 
+0

'[tuple (itertools.chain (* el)) 만약 엘레멘트에 엘이 있으면 그 엘레멘트에 '빈리스트를 tuple 객체로 변환해서는 안된다. –

+0

@TanveerAlam : 저도 그렇게 생각합니다. 그러나, 차라리 OP의 요구 사항을 추측하지 않을 것입니다. (이 점은 모호합니다.) – NPE

+0

예, 참입니다 :). Thanks –

-1

목록을 병합하려고합니다. 파이썬에서 당신은 당신이 itertools.chain를 사용할 수있는 복합 지능형리스트

data = [(2, 3), (3, 2), (3, 7), (7, 3)] 
flattend = [item for lst in data for item in lst] 
+0

이것은 작동하지 않습니다. OP가 원하는 것과 일치하지 않는 튜플 목록을 반환합니다. – Ffisegydd

관련 문제