我想把我的字符串變成 f-strings,我發現了一個這樣的字符串:print('{} : {}'.format(*[time.asctime(time.localtime(t)) for t in (time.time(), old_time)]))我怎樣才能把它變成一個漂亮的 fstring?現在我正在使用 lambda 并在兩者中調用它{}print(f'{my_lambda(time.time()} : {my_lambda(old_time}'但我仍然在尋找一種方法來解壓并分發到{}字符串中的兩者
2 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
你可以試試:
my_l = [time.asctime(time.localtime(t)) for t in (time.time(), old_time)]
f"{' : '.join(my_l)}"
如果您不想添加任何額外的消息是無用的,因為您可以使用:
' : '.join(my_l)
此外,您可以使用:
print(*my_l, sep=' : ')

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
一種方法是將計算結果放入列表中并使用它進行打?。?/p>
times = [ time.asctime(time.localtime(t))
for t in (time.time(), old_time) ]
print(f"{time[0]} : {time[1]}")
或者,更確切地說:
now, then = [ time.asctime(time.localtime(t))
for t in (time.time(), old_time) ]
print(f"{now} : {then}")
這樣可以避免代碼加倍(兩個值一個代碼),甚至在 f-string 中有說話的名字。
添加回答
舉報
0/150
提交
取消