Python 3.x 从复数列表中删除非共轭项
我有两个列表,一个包含虚数的实部,另一个包含相同数的虚部。我想从两个列表中删除没有共轭的虚数 例如,以下列表Python 3.x 从复数列表中删除非共轭项,python-3.x,list,complex-numbers,Python 3.x,List,Complex Numbers,我有两个列表,一个包含虚数的实部,另一个包含相同数的虚部。我想从两个列表中删除没有共轭的虚数 例如,以下列表x=[3,4,2,7,4]和y=[2,-1,0,6,1]表示数字: 3 + 2j <- no conjugate (to remove) 4 - 1j <- conjugate (to keep) 2 + 0j <- real (to keep) 4 + 1j <- conjugate (to keep) 7 + 6j <- no
x=[3,4,2,7,4]
和y=[2,-1,0,6,1]
表示数字:
3 + 2j <- no conjugate (to remove)
4 - 1j <- conjugate (to keep)
2 + 0j <- real (to keep)
4 + 1j <- conjugate (to keep)
7 + 6j <- no conjugate (to remove)
你知道我怎样才能做到这一点吗?谢谢此脚本将从列表
x
和y
中找到复杂的共轭词:
x = [3, 4, 2, 7, 4]
y = [2, -1, 0, 6, 1]
tmp = {}
for r, i in zip(x, y):
tmp.setdefault(i, set()).add(r)
x_out, y_out = [], []
for r, i in zip(x, y):
if i==0 or r in tmp.get(-i, []):
x_out.append(r)
y_out.append(i)
print(x_out)
print(y_out)
印刷品:
[4, 2, 4]
[-1, 0, 1]
非常感谢您快速的回答,这非常有效!
[4, 2, 4]
[-1, 0, 1]