1 string-formatting python-3.x
我在 Python 3.4.2 中的 format 方法有问题。向我显示以下错误:
Traceback (most recent call last):
Python Shell, prompt 2, line 3
builtins.IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)
编码:
A = "{0}={1}"
B = ("str", "string")
C = A.format(B)
print (C)
Run Code Online (Sandbox Code Playgroud)
该元组包含两个索引为 0 和 1 的字符串,不应显示此错误。
根据文档,您应该将参数作为位置参数而不是元组传递。如果要使用元组中的值,请使用*运算符。
Run Code Online (Sandbox Code Playgroud)str.format(*args, **kwargs)执行字符串格式化操作。调用此方法的字符串可以包含由大括号 {} 分隔的文字文本或替换字段。每个替换字段包含位置参数的数字索引或关键字参数的名称。返回字符串的副本,其中每个替换字段都替换为相应参数的字符串值。
"1 + 2 之和为 {0}".format(1+2) '1 + 2 之和为 3'
更具体地说,您需要执行以下操作:
A = "{0}={1}"
B = ("str", "string")
C = A.format(*B)
print (C)
Run Code Online (Sandbox Code Playgroud)
或者
A = "{0}={1}"
C = A.format("str", "string")
print (C)
Run Code Online (Sandbox Code Playgroud)