2009-01-10 5 views
6

리스트에서 알 수없는 튜플을 어떻게 풀 수 있습니까?Python : 알 수없는 변수의 수를 압축 해제 하시겠습니까?

데이터의 열 수가 많고 일부 함수로 튜플로 나뉩니다. 변수에이 튜플을 풀기를 원하지만 열 수를 알 수 없습니다. 필요한만큼 많은 변수에 동적으로 압축을 풀 수있는 방법이 있습니까? 당신의 도움에 대한

감사합니다 :)

답변

7

이 목록에 튜플을 풀고?

l = list(t) 
+0

하지만 왜 내가하고 싶은지 궁금합니다. =) – PEZ

+0

PEZ, numpy 함수 'loadtxt'를 사용하여 플롯팅을 처리하는 스크립트를 만들고 있습니다. 데이터 갯수는 런타임에만 알 수 있으므로 var 이름을 만들 수 없습니다. – Nope

+1

그래,하지만 if 할 수있는 것처럼 튜토리얼에서 데이터를 가지고 있습니다. t [1]은 "unpack"을 사용하지 않고 [1]과 동일한 데이터를 줄 것입니다. 물론, "적절한 위치에있는"데이터에는 목록이 필요합니다. – PEZ

3

즉석에서 변수를 만드시겠습니까? 동적으로 작성된 프로그램의 참조 방법은 무엇입니까?

튜플의 길이는 목록과 동일합니다. 당신이 결과를 수정하기 시작하고 싶어하지 않는 한 그렇게 아무런 이득이 없다하지만,

total_columns = len(the_tuple) 

또한 목록에 튜플을 변환 할 수 있습니다 : 그것은 뭔가를 할 수 있도록 완벽하게 permissable입니다. (. 튜플은 수정할 수 없습니다,리스트 수) 목록에 튜플을 변환, 어쨌든, 그러나 것은 간단하다 :

my_list = list(the_tuple) 

은 (eval으로, 예를 들어) 즉석에서 변수를 만들 수 방법입니다, 그러나 다시, 당신은 그들을 어떻게 언급하는지 어떻게 알았습니까?

정확히 여기서 무엇을하려고하는지 분명히해야한다고 생각합니다.

16

별표를 사용하여 가변 길이의 압축을 푸는 데 사용할 수 있습니다. 예를 들어 :

foo, bar, *other = funct() 

bar로, foo로 두 번째를 첫 번째 항목을 넣어해야하고, other에 모든 나머지.

업데이트 : 나는 이것이 Python 3.0과 호환된다는 점을 잊어 버렸다.