在Python 2,假设排序拉链,我们有两个列表:的Python:根据长度和重量
list1 = [["A"],["A","B"],["B","D"],["C"],["A","B","D"]]
list2 = [5,10,10,15,10]
我想基于下降列表2(权重),每当排序列表1的两个项目的权重是相同的(例如,x = [“A”,“B”,“D”]和y = [“B”,“D”]的重量都是10),长度较大的那个首先出现。对于列表1和表2,我所要的输出如:
[["C"], ["A","B","D"], ["A","B"],["B","D"],["A"]
]
这怎么可能?
我所知道的是,我们可以通过先定义
zipped = zip(list1,list2)
,然后仅基于大小对它们进行排序:
zipped.sort(key=lambda t: t[1],reverse=True)
我想你的意思是你想根据list2排序'list1'而不是你写的方式。 –
@BurhanKhalid你是对的。编辑。 –
好的第一步。现在你有什么尝试其余的? – Julien