假设我有两个列表:
我希望对第二个列表 l 进行按序列排序。在这个例子中,数字 25 出现了多次,这种情况下,只要元组的值为 25,它所在的位置并不重要。两个列表长度总是相同的。
我目前的方法是:
sequence = [25, 15, 20, 15, 25, 25]
l = [(25, 'banana'),
(25, 'apple'),
(25, 'pine'),
(20, 'soap'),
(15, 'rug'),
(15, 'cloud')]
我希望对第二个列表 l 进行按序列排序。在这个例子中,数字 25 出现了多次,这种情况下,只要元组的值为 25,它所在的位置并不重要。两个列表长度总是相同的。
我目前的方法是:
r = list(range(len(sequence)))
for i, v in enumerate(sequence):
for e in l:
if e[0] == v:
r[i] = e
l.remove(e)
print(r)
可能的输出:
[(25, '香蕉'), (15, '地毯'), (20, '肥皂'), (15, '云'), (25, '苹果'), (25, '松果')]
您是否有更好的方法?
感谢您的帮助!
Muff
l
中是否可能存在重复的元组? - Jared Goguen