将函数应用于列表的每个元素

新手上路,请多包涵

假设我有一个类似的列表:

 mylis = ['this is test', 'another test']

如何将函数应用于列表中的每个元素?例如,我希望能够申请 str.upper 得到

['THIS IS TEST', 'ANOTHER TEST']

原文由 shantanuo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 561
2 个回答

使用内置标准库 map

 >>> mylis = ['this is test', 'another test']
>>> list(map(str.upper, mylis))
['THIS IS TEST', 'ANOTHER TEST']

在 Python 2.x 中, map 通过将给定函数应用于列表中的每个元素来构造所需的新列表。

在 Python 3.x 中, map 构造了一个迭代器而不是一个列表,所以调用 list 是必要的。如果您使用的是 Python 3.x 并且需要列表,则列表理解方法会更适合。

原文由 mdml 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试使用 列表理解

 >>> mylis = ['this is test', 'another test']
>>> [item.upper() for item in mylis]
['THIS IS TEST', 'ANOTHER TEST']

原文由 alecxe 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题