2009-01-10 91 views
6

我怎麼能解開一個未知的元組,例如,列表?Python:解壓縮到未知數量的變量?

我有一些數據列,他們通過一些函數分解成一個元組。我想將這個元組解包到變量中,但我不知道有多少個列。是否有任何方法可以動態地將它解包爲儘可能多的變量?

感謝您的幫助:)

回答

7

將元組解包到列表中?

l = list(t) 
+0

但我很好奇你爲什麼要這樣做。 =) – PEZ 2009-01-10 23:28:36

3

你的意思是你想在飛行中創建變量嗎?如果程序動態創建,程序如何知道如何引用它們?

元組有長度,就像列表一樣。這是完全permissable做這樣的事情:

total_columns = len(the_tuple) 

您還可以將一個元組的列表,雖然有這樣做,除非你要開始修改的結果沒有任何好處。 (元組不能被修改;列表可以),但無論如何,一個元組轉換成列表很簡單:

my_list = list(the_tuple) 

的方式來動態地創建變量(例如,具有eval)但是,又如何知道如何引用它們呢?

我想你應該明確你在這裏要做的事情。

16

您可以使用星號來解壓變長。例如:

foo, bar, *other = funct() 

這應該放在第一項爲foo,第二次進入bar,和所有其餘爲other

更新:我忘了提及這只是Python 3.0兼容。