python - 基于dict值的dict命令列表

时间:2017-06-24 23:35:33

标签: python

让我们考虑以下的词汇清单:
ins=[dict(rank=1, data="Pierre"),dict(rank=3, data="Paul"),dict(rank=2,data="Jacques")]

如何将其转换为以下列表: ["Pierre", "Jacques", "Paul"]

是使用rank键重新排序项目,只保留data个关键项?

1 个答案:

答案 0 :(得分:2)

您可以使用理解和sorted()函数的key参数轻松完成此操作:

ranked_data = [d['data'] for d in sorted(ins, key=lambda x: x['rank'])]

(您也可以使用operators.itemgetter('rank')代替lambda函数,但lambda在这里更容易用作示例。)