[英]How can I nest format string in Python2?
formatter = "%r %r %r %r"
print formatter % (formatter, formatter, formatter, formatter) % ((1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4))
Traceback (most recent call last):
File "ex8.py", line 2, in <module>
print formatter % (formatter, formatter, formatter, formatter) % ((1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4))
TypeError: not enough arguments for format string
Is something wrong with my code?我的代码有问题吗? Or just can't do it.或者就是做不到。
You should use just one tuple for your formatting:您应该只使用一个元组进行格式化:
formatter = "%r %r %r %r"
print formatter % (formatter, formatter, formatter, formatter) % (1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
If you want it to be more clear, you could do this:如果你想让它更清楚,你可以这样做:
formatter = "%r %r %r %r"
tuples = ((1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4))
print formatter % (formatter, formatter, formatter, formatter) % sum(tuples, ())
or better:或更好:
formatter = "%r %r %r %r"
tuples = (1, 2, 3, 4) * 4
print formatter % ((formatter,) * 4) % tuples
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.