【发布时间】:2009-01-10 23:15:59
【问题描述】:
我如何将一个未知的元组解压到一个列表中?
我有许多数据列,它们被某个函数分成一个元组。我想将此元组解压缩为变量,但我不知道我将拥有多少列。有什么方法可以动态地将其解压缩为我需要的任意数量的变量?
【问题讨论】:
标签: python casting iterable-unpacking
我如何将一个未知的元组解压到一个列表中?
我有许多数据列,它们被某个函数分成一个元组。我想将此元组解压缩为变量,但我不知道我将拥有多少列。有什么方法可以动态地将其解压缩为我需要的任意数量的变量?
【问题讨论】:
标签: python casting iterable-unpacking
您可以使用星号来解包可变长度,例如:
foo, bar, *other = funct()
这应该将第一项放入foo,将第二项放入bar,其余的放入other。
更新:我忘了说这仅兼容 Python 3.0。
【讨论】:
将元组解包到列表中?
l = list(t)
【讨论】:
您的意思是要动态创建变量吗?如果它们是动态创建的,您的程序如何知道如何引用它们?
元组有长度,就像列表一样。完全可以这样做:
total_columns = len(the_tuple)
您也可以将元组转换为列表,但这样做没有任何好处,除非您想开始修改结果。 (元组不能修改;列表可以。)但是,无论如何,将元组转换为列表是微不足道的:
my_list = list(the_tuple)
有种方法可以动态创建变量(例如,使用eval),但同样,您怎么知道如何引用它们?
我认为您应该明确说明您要在这里做什么。
【讨论】: