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

时间:2016-03-09 12:14:54

标签: python sorting

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

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

输出结果为:

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

2 个答案:

答案 0 :(得分: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]))

答案 1 :(得分: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]))