2010-07-18 3 views
12

다음과 같은 각 튜플 (즉, 목록의 요소)의 내용을 이미 '무언가'가있는 다른 목록에 추가 할 수 있습니까? 그래서, 나는 목록에 다음을 추가하려면 : 빈하지 않은 (예를 들어, [] 결과) :은 목록에 튜플을 추가합니다.

l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)] 

을 물론, 것은하지 않습니다 다음

for item in l: 
    result.append(item) 
    print result 

을 나는 인쇄 출력 할 :

[something, 'AAAA', 1.11] 
[something, 'BBB', 2.22] 
[something, 'CCCC', 3.33] 
+1

당신이 _all_ 튜플 목록에 추가 하시겠습니까 하나 다른 후? 아니면 한 번에 하나씩? 다른 말로하면, [something, tuple1, tuple2, tuple3] 또는 여러 목록, [something, tuple1], [[something, tuple2]] 및 [[something, tuple3] '? –

답변

29
result.extend(item) 
+1

+1. 이것은 가장 깨끗한 버전입니다. – Skurmedel

+0

Nifty는'extend'가 튜플을 올바르게 처리 할 것이라고 몰랐습니다. – John

+0

+1 "가장 깨끗한"초. – Kit

2
당신은 LIS에 튜플을 변환하는 붙박이 list() 기능을 사용할 수 있습니다

티. 그래서 더 쉬운 버전은 다음과 같습니다

l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)] 
result = [list(t) for t in l] 
print result 

출력 : 당신은 그것의 개별 요소를 추가 할 튜플 압축을 해제해야합니다

[['AAAA', 1.1100000000000001], 
['BBB', 2.2200000000000002], 
['CCCC', 3.3300000000000001]] 
+0

왜 얻을 수 있습니까? TypeError : 'tuple'객체를 호출 할 수 없습니까? – DGT

+0

@DGT 아무 생각이 없습니다. 어떤 버전의 파이썬을 사용하고 있습니까? 위의 내용은 2.6/2.7입니다. – cletus

+0

@DGT : 당신은 아마도 튜플 다음에 쉼표를 생략 할 것입니다. (a, b, c) (d, e, f)와 같은 것이 오류를 생성합니다. 고정 된 버전은 (a, b, c), (d, e, f) –

-1

. 이처럼 :

l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)] 

for each_tuple in l: 
    result = ['something'] 
    for each_item in each_tuple: 
    result.append(each_item) 
    print result 

당신이 얻을 것이다 :

['something', 'AAAA', 1.1100000000000001] 
['something', 'BBB', 2.2200000000000002] 
['something', 'CCCC', 3.3300000000000001] 

당신은 그들이 올바르게 표시되도록 수치에 대한 몇 가지 처리를 수행해야합니다,하지만 그건 다른 질문 일 것이다.

쉽게 목록에 튜플을 변환 할 수 있습니다
+1

이 아닐 수 있습니다. –

+0

아니요,이 없습니다. 하지만 적어도 끝까지 질문을 읽을 수있는 유일한 사람입니다. – Slava

3

:

>>> t = ('AAA', 1.11) 
>>> list(t) 
['AAAA', 1.11] 

을 그리고 당신이 extend으로 목록을 연결할 수 있습니다 :

>>> t = ('AAA', 1.11) 
>>> result = ['something'] 
>>> result.extend(list(t)) 
['something', 'AAA', 1.11]) 
+0

+1 'extend()'에 대해 몰랐습니다. :) – Kit

관련 문제