【发布时间】:2019-09-24 21:54:32
【问题描述】:
有两个列表:
list1 = [('A', 1), ('B', 2), ('C', 3)]
list2 = ['C', 'A', 'B']
如何重新组织list1 中的元组,使所有元组的第一个元素与list2 中的元素顺序相同?
即,预期的结果是
list1 = [('C', 3), ('A', 1), ('B', 2)]
【问题讨论】:
标签: python-3.x
有两个列表:
list1 = [('A', 1), ('B', 2), ('C', 3)]
list2 = ['C', 'A', 'B']
如何重新组织list1 中的元组,使所有元组的第一个元素与list2 中的元素顺序相同?
即,预期的结果是
list1 = [('C', 3), ('A', 1), ('B', 2)]
【问题讨论】:
标签: python-3.x
您可以按如下方式使用列表推导:
d = dict(list1)
[(i,d.get(i)) for i in list2]
[('C', 3), ('A', 1), ('B', 2)]
【讨论】:
i,dict(list1).get(i) 为什么要在每次循环迭代时重新创建dict?只需在外面创建字典。