我正在尝试编写一个函数,将一串小写字母转换为一串全大写字母。我正在尝试使用reduce 和map() 来执行此操作,尽管使用列表理解代替map 也可以。
最佳答案
使用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?'
减少
而不使用lambda
:
>>> import operator
>>> reduce(operator.add, lis, '')
'HOW ARE YOU?'
重要说明:使用 reduce
构建字符串效率非常低,因为它在每次添加后都会创建一个新字符串。即使是中等长度的字符串,性能也会过高。
关于python - 如何添加列表元素并将其转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26164499/