让我们考虑以下的词汇清单:
ins=[dict(rank=1, data="Pierre"),dict(rank=3, data="Paul"),dict(rank=2,data="Jacques")]
如何将其转换为以下列表:
["Pierre", "Jacques", "Paul"]
是使用rank
键重新排序项目,只保留data
个关键项?
答案 0 :(得分:2)
您可以使用理解和sorted()
函数的key
参数轻松完成此操作:
ranked_data = [d['data'] for d in sorted(ins, key=lambda x: x['rank'])]
(您也可以使用operators.itemgetter('rank')
代替lambda函数,但lambda在这里更容易用作示例。)