我不明白代码中“ *”的含义。它有什么作用,又叫什么?
numbers = [x for x in range(5)]
mystrings = "numbers:{0}, {1}, {2}, {3}".format(*numbers)
print(mystrings)
我什至不知道它叫什么(或者我已经在网上搜索了)。我正在学习如何使用String.format(),并希望从列表中添加项目,而无需手动输入所有内容。我找到了此解决方案,但没有任何解释。
这就是我要避免的事情:
mystrings = "numbers:{0},{1},{2},{3}".format(numbers[0],
numbers[1],
numbers[2],
numbers[3]
)
答案 0 :(得分:0)
在这种情况下,*
通常称为splat operator,它接受参数列表并进行扩展-在这种情况下,因为format()
需要单个参数而不是列表,所以它是必需的。是的,这是
*numbers
与此完全相同(假设有4个元素的列表,但可以使用任意长度):
numbers[0], numbers[1], numbers[2], numbers[3]