如何用Python的map方法改写列表转换的循环代码?
使用map改写循环代码的方案
当然可以用map()方法改写你的循环代码,这里提供两种实用写法:
1. 结合lambda表达式(简洁写法)
直接用匿名函数处理每个元素,最后将map对象转为列表即可:
my_list = [{"index": 1}, {"index": 2}] res = list(map(lambda x: {"values": x, "key": "Dummy"}, my_list))
2. 定义独立处理函数(易扩展写法)
如果后续需要修改元素转换逻辑,推荐先定义一个单独的处理函数,再传入map():
def transform_item(item): return {"values": item, "key": "Dummy"} my_list = [{"index": 1}, {"index": 2}] res = list(map(transform_item, my_list))
两种写法最终都会生成你预期的结果:
[ {"values":{"index": 1}, "key": "Dummy"}, {"values":{"index": 2}, "key": "Dummy"} ]
map()会遍历my_list中的每个元素,将其传入对应的处理函数(或lambda表达式),返回一个迭代器,最后通过list()将这个迭代器转换为列表。
内容的提问来源于stack exchange,提问作者sevenHolder
相关产品推荐
相关产品推荐

