解压缩列表并同时进行投射

时间:2013-02-04 16:11:24

标签: python list casting

我有很长的stings列表需要作为整数传递给函数。我现在正在做的是:

my_function(int(list[0]), int(list[1]), int(list[2]), int(list[3])...)

但我知道我可以通过解压缩列表来缩短函数调用次数:

my_function(*list)

我想知道是否有办法将int()投射与列表解包*结合起来,如下所示:

my_function(*int(list))  #Doesn't work

2 个答案:

答案 0 :(得分:8)

使用内置方法map,例如

my_function(*map(int, list))

或者,尝试list-comprehension:

my_function(*[int(x) for x in list])

BTW:

请不要将list用作本地变量的名称,这会隐藏内置方法list

通常会为变量名附加一个下划线,否则会隐藏内置方法/与关键字冲突。

答案 1 :(得分:0)

映射就是答案:

map(int, my_list)