Python无法使用join将字符串添加到元组的每个元素

2024-10-03 00:19:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用join把一个字符串附加到元组中的每个元素字符串上

str_tup = ('country', 'town')
fields = ('_outlier'.join(key) for key in str_tup)

for key in fields:
    print(key)

我得到了

c_outliero_outlieru_outliern_outliert_outlierr_outliery
t_outliero_outlierw_outliern

而不是

country_outlier
town_outlier

我想知道如何解决这个问题,在这里使用一个发电机试图节省内存。你知道吗


Tags: key字符串in元素fieldsforcountry元组
2条回答

如果您使用的是python3.6+,我建议您使用f-strings来构建生成器,它非常漂亮并且经过优化。它们真的值得我们去了解和广泛使用。我的建议是:

str_tup = ('country', 'town')
fields = (f'{s}_outlier' for s in str_tup)

for key in fields:
    print(key)
# country_outlier
# town_outlier

join(x)函数连接一个iterable(例如列表)项,将x放在每个项之间。您需要的是简单的连接:

str_tup = ('country', 'town')
fields = (key + '_outlier' for key in str_tup)

for key in fields:
    print(key)

相关问题 更多 >