此打印功能调用中的这个星号是什么?
for i in range(int(input())):
s=input()
print(*["".join(s[::2]),"".join(s[1::2])])
答案 0 :(得分:0)
它被称为参数解包。如果你要省略它,那么它只会将列表推导创建的列表作为一个参数提供给print函数。使用星号,它将该列表中的每个项目作为单独的参数传递。 考虑这个例子:
def my_func(arg1, arg2, arg3):
print('yay it worked')
然后用:
调用它my_func(*[1, 2, 3])
那样arg1为1,arg2为2,arg3为3。 如果您将呼叫更改为:
my_func([1, 2, 3])
然后你将列表传递给arg1,它会引发一个TypeError,因为它缺少两个位置参数。