我有一个像[(0, 34), (1, 77), (2, 6), (3, 60), (6, 2), (7, 5), (9, 13), (14, 2)]
. 我需要保持元组的顺序并使用从 0 到 n - 1 的整数重新枚举第二个元素,其中 n 是列表长度。结果应该是[(0, 4), (1, 6), (2, 2), (3, 5), (6, 0), (7, 1), (9, 3), (14, 0)]
。
我开始编写一个接受整数序列但不接受整数对的函数:
def translation(seq):
return [sorted(set(seq)).index(x) for x in seq]
>>> translate([34, 77, 6, 60, 2, 5, 13, 2])
[4, 6, 2, 5, 0, 1, 3, 0]
`