如何使用列表解包将格式化字符串转换为 f 字符串?

我想把我的字符串变成 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}'

但我仍然在寻找一种方法来解压并分发到{}字符串中的两者


繁花不似锦
浏览 100回答 2
2回答

慕工程0101907

你可以试试: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=' : ')

潇潇雨雨

一种方法是将计算结果放入列表中并使用它进行打印: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 中有说话的名字。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python