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

时间:2018-08-13 14:40:19

标签: python python-3.x generator

我尝试使用连接将字符串附加到元组中的每个元素字符串上,

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

我想知道如何使用此处的生成器来节省内存来解决此问题。

2 个答案:

答案 0 :(得分:4)

join(x)函数将一个可迭代的项目(例如一个列表)串联起来,在每个项目之间放置x。您正在寻找的是简单的串联:

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

for key in fields:
    print(key)

答案 1 :(得分:2)

如果您使用的是Python 3.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