根据较大列表的顺序对列表进行排序

我有一个有序列表:

ordering = ["red", "green", "blue", "yellow", "orange"]

和一个较小的无序列表,我想根据这个列表进行排序:

unordered = ["blue", "orange", "red"]

给出结果:

["red", "blue", "orange"]

这似乎是已经被问到的那种问题,但我已经完成了所有我能找到的类似措辞的问题,但没有一个能解决这个问题。

回答

sort()有一个参数可以让你编写一个排序函数。您可以按如下方式使用此排序功能:

unordered.sort(key=lambda x: ordering.index(x))


以上是根据较大列表的顺序对列表进行排序的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>