我怎麼能解開一個未知的元組,例如,列表?Python:解壓縮到未知數量的變量?
我有一些數據列,他們通過一些函數分解成一個元組。我想將這個元組解包到變量中,但我不知道有多少個列。是否有任何方法可以動態地將它解包爲儘可能多的變量?
感謝您的幫助:)
我怎麼能解開一個未知的元組,例如,列表?Python:解壓縮到未知數量的變量?
我有一些數據列,他們通過一些函數分解成一個元組。我想將這個元組解包到變量中,但我不知道有多少個列。是否有任何方法可以動態地將它解包爲儘可能多的變量?
感謝您的幫助:)
將元組解包到列表中?
l = list(t)
你的意思是你想在飛行中創建變量嗎?如果程序動態創建,程序如何知道如何引用它們?
元組有長度,就像列表一樣。這是完全permissable做這樣的事情:
total_columns = len(the_tuple)
您還可以將一個元組的列表,雖然有這樣做,除非你要開始修改的結果沒有任何好處。 (元組不能被修改;列表可以),但無論如何,一個元組轉換成列表很簡單:
my_list = list(the_tuple)
有是的方式來動態地創建變量(例如,具有eval
)但是,又如何知道如何引用它們呢?
我想你應該明確你在這裏要做的事情。
您可以使用星號來解壓變長。例如:
foo, bar, *other = funct()
這應該放在第一項爲foo
,第二次進入bar
,和所有其餘爲other
。
更新:我忘了提及這只是Python 3.0兼容。
但我很好奇你爲什麼要這樣做。 =) – PEZ 2009-01-10 23:28:36