求教在python中的一个list按照另外一个字典进行排序

例如我有一个列表
[('小明','sfdsf','2sdf'),('李白','zdfd','adf'),('杜甫','sdf','ff')]
我需要通过一个字典
{'李白':1,'杜甫':2,'小明':3}
进行排序。
请教大神予以帮助。

阅读 3.6k
2 个回答
# -*- coding: UTF-8 -*-

__author__ = 'lpe234'

x1 = [('小明', 'sfdsf', '2sdf'), ('李白', 'zdfd', 'adf'), ('杜甫', 'sdf', 'ff')]

x2 = {'李白': 1, '杜甫': 2, '小明': 3}


x3 = sorted(x1, key=lambda _x1: x2[_x1[0]])

print(x3)

>>> [('李白', 'zdfd', 'adf'), ('杜甫', 'sdf', 'ff'), ('小明', 'sfdsf', '2sdf')]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题