【发布时间】:2016-12-10 08:57:52
【问题描述】:
有了str.format(),我可以使用元组来访问参数:
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
或
>>> t = ('a', 'b', 'c')
>>> '{0}, {1}, {2}'.format(*t)
'a, b, c'
但是对于以'f'(f-strings)为前缀的新格式化字符串文字,我该如何使用元组?
f'{0}, {1}, {2}'.(*t) # doesn't work
【问题讨论】:
-
你所说的是什么意思,但是有了新的以'f'为前缀的格式化字符串文字,如何使用元组?同样在您的第二个示例中,您需要解压缩元组。
-
f-strings 的使用很大程度上取决于特定的用例。给我们一个实际的例子来说明你正在尝试做什么,因为当前的问题最好在 3.6 和 pre-3.6 中使用
', '.join(t)来解决 -
'...'.format('a', 'b', 'c')是一种方法调用,您使用 3 个参数调用该方法。在第一个示例中,您没有传入元组。在第二个示例中,您使用的是*args调用语法;str.format()仍然接收 3 个单独的参数,并且不知道您使用元组来提供这些参数。 -
@Kasramvd 我的意思是
f'{0}, {1}, {2}'.(*t)不起作用
标签: python python-3.x tuples string-formatting python-3.6