簡體   English   中英

將相同的字符串格式應用於不同數量的變量

[英]Apply the same string format to a varying number of variables

有沒有辦法將相同的格式應用於多個實變量的列表而無需制作列表? 有很多教程,但是每個教程都忽略了這個問題。 說,我有實數:

variable = 123.234
another = 1.54816
var = 99.9994

與 Fortran 相比,我想得到( '_'代表空格):

write(*,'(3f8.3)') variable, another, var

output:

_123.234___1.548__99.999

或 Python 中的類似內容:

print("{:8.3f}".format(variable, another, var))

保留與 Fortran 相同的 output。

我知道我可以制作一個變量列表,然后使用 for 循環,但我寧願避免這樣做,因為它在代碼中引入了不必要的行。

怎么樣:

var1, var2, var3 = 123.234, 1.54816, 99.9994
# print('output: {:7.3f}   {:7.3f}  {:7.3f}'.format(var1, var2, var3))
print('output:' + (' {:7.3f} '*3).format(var1, var2, var3))

你會得到:

output: 123.234     1.548   99.999

為了保留原始代碼的不同性質(在一定程度上),您可以將str.join方法與生成器表達式一起使用,並根據需要傳遞盡可能多的變量,而無需更改字符串本身:

print(''.join(f"{num:8.3f}" for num in (variable, another, var)))

暫無
暫無

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

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