如何添加列表元素并将它们转换为字符串

时间:2014-10-02 15:45:04

标签: python list map reduce

我正在尝试编写一个函数,将一串小写字母变成一个大写字母的字符串。我正在尝试使用reduce和map()来做到这一点,虽然列表理解而不是map也可以。

1 个答案:

答案 0 :(得分:2)

使用str.upper()

>>> 'How are you?'.upper()
'HOW ARE YOU?'

关于你的问题"我无法弄清楚如何将它们从列表中重新组合成字符串",使用str.join

>>> lis = ['H', 'O', 'W', ' ', 'A', 'R', 'E', ' ', 'Y', 'O', 'U', '?']
>>> ''.join(lis)
'HOW ARE YOU?'

如果你想使用reduce,你需要给它一个初始值''并给它一个带两个参数的函数并将它们简化为一个结果:

>>> reduce(lambda s,t:s + t, lis, '')
'HOW ARE YOU?'

reduce没有lambda

>>> import operator
>>> reduce(operator.add, lis, '')
'HOW ARE YOU?'

重要提示:使用reduce构建字符串非常低效,因为它会在每次添加后创建一个新字符串。即使是中长字符串的性能也会过高。