Python 如何使用复数的绝对值对包含复数的列表进行排序?
可以输入数组的东西Python 如何使用复数的绝对值对包含复数的列表进行排序?,python,sorting,Python,Sorting,可以输入数组的东西[8,2,3+j,1+5j,1] 其中3+j评估为(3^2+1^2)^1/2,或abs(3+j) 输出[1,2,3+j,1+5j,8]设置abs,因为键将执行以下操作: l = [8,2,3+1j,1+5j,1] sorted(l, key=abs) # [1, 2, (3+1j), (1+5j), 8] 请注意,取复数的abs,其作用与您在问题中提到的相同,即取其: 还要注意,3+j是无效的,因为python希望j是一个变量。要使其成为一个复杂的文本,j必须在数字之后,3
[8,2,3+j,1+5j,1]
其中3+j
评估为(3^2+1^2)^1/2
,或abs(3+j)
输出
[1,2,3+j,1+5j,8]
设置abs
,因为键将执行以下操作:
l = [8,2,3+1j,1+5j,1]
sorted(l, key=abs)
# [1, 2, (3+1j), (1+5j), 8]
请注意,取复数的abs
,其作用与您在问题中提到的相同,即取其:
还要注意,3+j
是无效的,因为python希望j
是一个变量。要使其成为一个复杂的文本,j
必须在数字之后,3+1j
。或者你也可以做complex(3,1)
abs(5j + 2)
# 5.385164807134504
np.sqrt(5**2 + 2**2)
# 5.385164807134504