尝试乘法元组元素时出现字符串格式错误-python

尝试乘法元组元素时出现字符串格式错误-python,python,string,tuples,Python,String,Tuples,如果 为什么这不起作用 >>> (1,2)*2 >>> (1,2,1,2) 有没有其他方法可以在不必显式构造元组的情况下执行此操作?您需要添加一对括号: '%d %d %d %d' % (1,2)*2 TypeError: not enough arguments for format string 在Python中,因此您的代码相当于 '%d %d %d %d' % ((1,2)*2) 这两个运算符具有相同优先级的原因是,%也是余数运算符,因此被认为

如果

为什么这不起作用

>>> (1,2)*2
>>> (1,2,1,2)

有没有其他方法可以在不必显式构造元组的情况下执行此操作?

您需要添加一对括号:

'%d %d %d %d' % (1,2)*2

TypeError: not enough arguments for format string
在Python中,因此您的代码相当于

'%d %d %d %d' % ((1,2)*2)

这两个运算符具有相同优先级的原因是,
%
也是余数运算符,因此被认为与乘法和除法属于同一类别。

只需添加一对额外的括号:

('%d %d %d %d' % (1,2))*2
目前,您的代码正在尝试使用
(1,2)
生成字符串,然后将该字符串乘以2

>>> '%d %d %d %d' % ((1,2)*2)
'1 2 1 2'
>>>