Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用复数的绝对值对包含复数的列表进行排序?_Python_Sorting - Fatal编程技术网

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