在python中,我可以使用splat运算符解压缩列表并将列表项作为参数发送给函数
myMap[1][1] = 'A';
我的问题是,为什么这个功能仅限于方法参数?
例如,以下语法无效:
myMap[1][2] = 'B';
为什么这不会导致dirs = ['this','is','a','file','path']
path = os.path.join(*dirs)
# path is now 'this/is/a/file/path'
?
答案 0 :(得分:4)
如上所述,它是有效的语法as of Python 3.5+:
>>> x = [1,2,3]
>>> y = [0,*x,4,5]
>>> y
[0, 1, 2, 3, 4, 5]
您可以在PEP 448: "Additional Unpacking Generalizations"中了解此用例和更多用例。