[英]Comparing 2 list of tuples
我有一个清单:
a = [(1, 2), (3, 4), (4, 5), (6, 7)]
# Stores list of x,y coordinates
和一个清单:
b = [(1, 2), (10, 1), (3, 10), (4, 9)]
现在,我想用 y 坐标 + 2 替换a
>= of, b
中a
y 坐标。
因为这里a
有一个等价或更大的b
在:
[(1,2), (3,4)]
我想替a
这样:
a = [(1,4), (3,6), (4,5), (6,7)]
我怎么能这样做?
我知道 numpy 存在一种方法,例如:
np.where(a >= b) , do something;
但不确定在这种情况下如何使用它。
IIUC,比较他们的axis=1
和+=2
a = np.asarray(a)
b = np.asarray(b)
a[a[:, 1] > b[:, 1], 1] += 2
array([[1, 2],
[3, 6],
[4, 5],
[6, 7]])
没有 numpy:
a = [(1, 2), (3, 4), (4, 5), (6, 7)]
b = [(1, 2), (10, 1), (3, 10), (4, 9)]
c = [(aa[0], aa[1]+2) if aa[1] >= bb[1] else aa for aa, bb in zip(a, b)]
c
是[(1, 4), (3, 6), (4, 5), (6, 7)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.