python字符串格式的意外打印输出
我想使用python字符串格式的意外打印输出,python,python-3.x,string,Python,Python 3.x,String,我想使用str.format打印一些值。但是,我重复了第一个值,我不理解。任何帮助都将不胜感激 for tel in ['T1', 'T2', 'T3', 'T4']: print(tel+':{0:.2f}, {0:.2f}, {0:.2f}'.format(0.56, 0.12, 0.25)) 这是因为{0:.2f}中的零表示“索引0处的参数”,所以您总是调用相同的参数,只要删除它,它就会按参数的顺序使用参数 for tel in ['T1', 'T2', 'T3', 'T4']:
str.format
打印一些值。但是,我重复了第一个值,我不理解。任何帮助都将不胜感激
for tel in ['T1', 'T2', 'T3', 'T4']:
print(tel+':{0:.2f}, {0:.2f}, {0:.2f}'.format(0.56, 0.12, 0.25))
这是因为
{0:.2f}
中的零表示“索引0处的参数”,所以您总是调用相同的参数,只要删除它,它就会按参数的顺序使用参数
for tel in ['T1', 'T2', 'T3', 'T4']:
print(tel + ':{:.2f}, {:.2f}, {:.2f}'.format(0.56, 0.12, 0.25))
:
之前的数字是format()
中参数的索引,因此您将在所有三个位置选择第一个参数。应该使用{.2f}
而不是{0.2f}
大括号中的第一个条目是format语句中引用的列表的索引。所以你总是在第一个条目上说{0:x}。您需要做的是:
print(tel+':{0:.2f}, {1:.2f}, {2:.2f}'.format(0.56, 0.12, 0.25))
或者让它像{:x}一样空着