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