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

Blo*_*nce 3 python casting list

我有一长串的stings需要作为整数传递给函数.我现在正在做的是:

my_function(int(list[0]), int(list[1]), int(list[2]), int(list[3])...)
Run Code Online (Sandbox Code Playgroud)

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

my_function(*list)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以将int()转换与列表解包相结合*,如下所示:

my_function(*int(list))  #Doesn't work
Run Code Online (Sandbox Code Playgroud)

Tho*_*anz 8

使用内置方法map,例如

my_function(*map(int, list))
Run Code Online (Sandbox Code Playgroud)

或者,尝试list-comprehension:

my_function(*[int(x) for x in list])
Run Code Online (Sandbox Code Playgroud)

BTW:

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

为变量名追加下划线是常见的用法,否则会隐藏内置方法/与关键字冲突.

  • 这是 Python 中的一件好事。当您了解它时,您会说“哇”,而当您不得不回到没有这些功能的语言时,您会说“#@+*%&”。所以要为此做好准备。 (4认同)