簡體   English   中英

python字符串格式的意外打印輸出

[英]Unexpected print output for python string formatting

我想使用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))

花括號中的第一個條目是您在格式語句中引用的列表的索引。 因此,您總是通過說 {0:x} 來獲取第一個條目。 你需要做的是:

print(tel+':{0:.2f}, {1:.2f}, {2:.2f}'.format(0.56, 0.12, 0.25))

或者像 {:x} 一樣留空。

前面的數字:在參數的索引format()所以你選擇在這三個地方的第一個參數。 您應該使用{:.2f}而不是{0:.2f}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM