我正在使用Python 3.6。我正在努力使用Learn Python作为参考。
我有一个混合列表,我正在尝试打印元素。这些书说使用
格式代码“r”,因为我们不知道列表中的内容。但我对此有误。
这是否适用于以前的版本?如何打印混合列表,每个元素一次。
这是我的代码和错误:
change = [1,'pennies',2,'dimes',3,'quarters']
for i in change:
print("I got {:r}".format(i))
错误堆栈跟踪:
Traceback (most recent call last):
File "<pyshell#52>", line 2, in <module>
print("I got {:r}".format(i))
ValueError: Unknown format code 'r' for object of type 'int'
由于
答案 0 :(得分:1)
对于str.format
,“repr
”强制转换是使用!r
完成的。不是:r
;它没有断言转换的类型,它说“根本不使用__format__
,使用__repr__
来执行转换”。成功:
print("I got {!r}".format(i))