尝试乘法元组元素时出现字符串格式错误-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'
>>>