Python f 字符串相当于通过 print 指令进行可迭代解包

问题描述 投票:0回答:1

print
可以很好地解压元组,删除括号和逗号,例如

a = (0, -1, 1)
print(*a)

产生

0 -1 1
。对 f 字符串进行相同的尝试失败了:

print(f'{*a}')

我发现的最接近的 f 字符串选项是:

print(f'{*a,}'.replace(',', '').replace('(', '').replace(')', ''))

有没有更直接的方法使用 f 字符串从

0 -1 1
获取
*a

python f-string iterable-unpacking
1个回答
0
投票

我能想到的最直接的方法是字符串的 join 方法。

>>> a = ('x','y','z')
>>> print(f'{" ".join(a)}')
x y z

如果您的元组元素不是字符串,则必须对其进行转换(如果可能)。

>>> a = (0,-1,1)
>>> print(f'{" ".join(map(str, a))}')
0 -1 1
© www.soinside.com 2019 - 2024. All rights reserved.