我尝试使用连接将字符串附加到元组中的每个元素字符串上,
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
我想知道如何使用此处的生成器来节省内存来解决此问题。
答案 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