我有这个
[('h', ['ab', 'aus']), ('c', ['ab', 'escu']), ('n', ['lia', 'lmos'])]
我想要这个
[{'ab': 1, 'aus': 1}, {'ab': 1, 'escu': 1}, {'lia': 1, 'lmos': 1}]
我试过了
map(lambda row: [{b: 1 } for b in row[1]])
结果
[[{‘ab': 1}, {'aus': 1}], [{'ab': 1}, {'escu': 1}], [{'lia': 1}, {'lmos': 1}]]
你能帮我修改地图功能吗?你知道吗
我同意cᴏʟᴅsᴘᴇᴇᴅ的回答。但要用lambda函数得到您想要的结果,实际上非常接近:
输出:
注意for循环中的
{}
符号:dict comprehension syntax。你知道吗在这里使用
map
不是正确的函数。如果您的列表包含多个相同的项目怎么办?我建议改用Counter
。你知道吗如果您的列表子项是唯一的,您可以改为使用
dict.fromkeys
。你知道吗相关问题 更多 >
编程相关推荐