对复数列表进行排序并获得排序索引

时间:2018-09-19 15:30:37

标签: python sorting complex-numbers

我需要按虚部对list个复数进行排序。我找到了问题“ sorting list of complex numbers”的解决方案。

仅使用带有适当键的已排序命令:

list_ordered = sorted(list, key=lambda x: x.imag) 

我也想找回排序索引。 Another existing solution在复数的情况下不起作用。是否有一种优雅的解决方案来提取我的案例中的索引?

谢谢!

1 个答案:

答案 0 :(得分:1)

second answer to the question you linked可以轻松调整:

complexes = [1, 2+3j, 1-2j, 6+1j]
[i[0] for i in sorted(enumerate(complexes), key=lambda x:x[1].imag)]

# [2, 0, 3, 1]