我怎样才能将一个未知的元组解包到一个列表中?
我有许多数据列,它们被某些函数分成一个元组。我想将此元组解压缩为变量,但我不知道我将拥有多少列。有没有办法将它动态解包到我需要的尽可能多的变量中?
我怎样才能将一个未知的元组解包到一个列表中?
我有许多数据列,它们被某些函数分成一个元组。我想将此元组解压缩为变量,但我不知道我将拥有多少列。有没有办法将它动态解包到我需要的尽可能多的变量中?
您可以使用星号解压缩可变长度,例如:
foo, bar, *other = funct()
这应该将第一个项目放入foo
,第二个放入bar
,其余所有放入other
。
更新:我忘了提到这仅与 Python 3.0 兼容。
将元组解包到列表中?
l = list(t)
你的意思是你想动态创建变量吗?如果它们是动态创建的,您的程序如何知道如何引用它们?
元组有长度,就像列表一样。完全可以这样做:
total_columns = len(the_tuple)
您还可以将元组转换为列表,但这样做没有任何好处,除非您想开始修改结果。(元组不能修改;列表可以。)但是,无论如何,将元组转换为列表是微不足道的:
my_list = list(the_tuple)
有很多方法可以动态创建变量(例如,使用eval
),但同样,您如何知道如何引用它们?
我认为您应该明确说明您要在这里做什么。