我有一个包含实部和虚部的复数值列表。
有没有可能的方法我可以按照增加虚数值的顺序对它们进行排序?
答案 0 :(得分:4)
In [65]: import operator
In [67]: data = [2+3j, 4+5j, 1+2j]
In [69]: sorted(data, key=operator.attrgetter('imag'))
Out[71]: [(1+2j), (2+3j), (4+5j)]
使用matplotlib绘制点:
from matplotlib import pyplot as plt
import numpy as np
data = np.array([2+3j, 4+5j, 1+2j])
x, y = data.real, data.imag
plt.scatter(y, x)
plt.show()
答案 1 :(得分:1)
假设values
是列表,这应该有效:
sorted_valued = sorted(values, key = lambda x: x.imag)