我有很长的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
答案 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)