是否可以在不使用变量的情况下解包元组?

ghi*_*man 11 python tuples iterable-unpacking

我在我的程序中的路径上使用os.path.split()函数来获取文件的文件名和路径名,然后将它们传递给另一个方法,但我当前的解决方案看起来相当丑陋:

path = os.path.split(somefile)
some_class(path[0], path[1])
Run Code Online (Sandbox Code Playgroud)

是否可以在调用some_class时以更干净的方式解压缩路径元组?就像是:

some_class(os.path.split(somefile).unpack())
Run Code Online (Sandbox Code Playgroud)

或者我应该简单地以另一种方式去做?也许是更加pythonic的方式?

Ale*_*x B 14

是的,Python有参数列表解包.试试这个:

some_class(*os.path.split(somefile))
Run Code Online (Sandbox Code Playgroud)

  • 相关说明:double-asterisk将字典解包为关键字参数:`f(**kwargs)` (4认同)