python - 如何添加列表元素并将其转换为字符串

标签 python list dictionary reduce

我正在尝试编写一个函数,将一串小写字母转换为一串全大写字母。我正在尝试使用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/

相关文章:

python - 使用 Marketo API 的结果不一致 - 无法找到事件 ID

python - 如何从python numpy中的矩阵中获取 float

python - 将列表数组转换为元组/三元组数组

list - 如何订购Firebase文件?

python - 在 Python 中复制嵌套列表

arrays - Swift:具有唯一键和与键匹配的一组值的字符串字典

python - 绘制双曲面

python - 查找 : any one of the substrings (whichever first) stored in a list; in a bigger string in Python 的出现位置

c# - 在一行 LINQ 语句中使用增量键列表到字典

python - 在 Python 中将文件拆分为字典