用于BWT解码的元组迭代的python列表

时间:2017-10-26 11:28:10

标签: python list indexing duplicates generator

输入列表:

list = [(a, 6), (e, 3), (e, 4), (g, 0), (m, 1), (s, 2), (s, 5)]

我需要在元组中按第二个值接收元组的排序列表 但结果中的第二个值应该是前一个列表中元组的索引:

list1 = [[(g, 3), (m, 4), (s, 5), (e, 1), (e, 2), (s, 6), (a, 0)]]

然后以某种方式迭代从list1的1个元素开始将char附加到结果并进入下一个元组(next的索引是元组中的数字)并接收'message'字符串

1 个答案:

答案 0 :(得分:3)

不是最漂亮的,但您可以使用enumerate + sorted执行此操作。

>>> [(x[1][0], x[0]) for x in sorted(enumerate(lst), key=lambda x: x[1][-1])]
[('g', 3), ('m', 4), ('s', 5), ('e', 1), ('e', 2), ('s', 6), ('a', 0)]