Python:解压缩到未知数量的变量?

问题描述:

我怎么能解开一个未知的元组,例如,列表?Python:解压缩到未知数量的变量?

我有一些数据列,他们通过一些函数分解成一个元组。我想将这个元组解包到变量中,但我不知道有多少个列。是否有任何方法可以动态地将它解包为尽可能多的变量?

感谢您的帮助:)

将元组解包到列表中?

l = list(t) 
+0

但我很好奇你为什么要这样做。 =) – PEZ 2009-01-10 23:28:36

你的意思是你想在飞行中创建变量吗?如果程序动态创建,程序如何知道如何引用它们?

元组有长度,就像列表一样。这是完全permissable做这样的事情:

total_columns = len(the_tuple) 

您还可以将一个元组的列表,虽然有这样做,除非你要开始修改的结果没有任何好处。 (元组不能被修改;列表可以),但无论如何,一个元组转换成列表很简单:

my_list = list(the_tuple) 

的方式来动态地创建变量(例如,具有eval)但是,又如何知道如何引用它们呢?

我想你应该明确你在这里要做的事情。

您可以使用星号来解压变长。例如:

foo, bar, *other = funct() 

这应该放在第一项为foo,第二次进入bar,和所有其余为other

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