根据字符串的顺序对集合排序?

2024-09-22 16:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要对一组字符集进行排序,使它们与字符串的顺序相同。所以接受这个输入

"ADFE"    [(FE, 3), (A, 5), (D, 6)]

输出为:

"A D FE"    [(A, 5), (D, 6), (FE, 3)]

Tags: 字符串排序顺序字符集feadfe
2条回答

如果我理解正确,您有一个字符串,如'ADFE',您有一个列表,如[('FE', 3), ('A', 5), ('D', 6)]。然后需要根据字符串对列表进行排序。为此,可以将sorted()与一个键结合使用:

letters = 'ADFE'
old = [('FE', 3), ('A', 5), ('D', 6)]
new = sorted(old, key=lambda x: letters.index(x[0]))

你能做到的

order = 'A D FE'.split(' ')
unordered_list = [['FE', 3], ['A', 5], ['D', 6]]
ordered_list = sorted(unordered_list, key=lambda x: order.index(x[0]))

相关问题 更多 >