python - 在二维数组中查找重复数组并将数字添加到元组
问题描述
我有一个数组:
a = [[(1,2), (3,4)], [(4,5),(3,4)]]
# Stores list of x,y coordinates
和一个数组:
b = [(1,2), (3,4)]
现在,我想用 y 坐标 + 2替换a
它的等价物。b
因为这里a
有等价b
于:
[(1,2), (3,4)]
我想替换为a
:
a = [[(1,4), (3,6)], [(4,5),(3,4)]]
我怎么能这样做?
我知道有一个 numpy 的方法,这样:
np.where(a == b) , do something;
但不确定在这种情况下如何使用它。
解决方案
不确定是否有好的解决方案numpy
,但您可以使用列表理解:
>>> a
[[(1, 2), (3, 4)], [(4, 5), (3, 4)]]
>>> b
[(1, 2), (3, 4)]
>>> c=[[(el_inner[0], el_inner[1]+2) for el_inner in el] if el==b else el for el in a ]
>>> c
[[(1, 4), (3, 6)], [(4, 5), (3, 4)]]
推荐阅读
- tcl - 使用TCL ldap包修改用户AD密码
- laravel - 如何在循环中显示一次值
- python - Strange behavior of networkx draw
- python - Python Mysqldb游标没有属性'fetchAll'
- oauth - 微服务解决方案中的 Azure Active Directory 代表流
- uwp - UWP C++/WinRT - 如何检测是否按下鼠标右键
- laravel - 如何测试和模拟不同情况下的狂饮反应?
- c# - 分别捕捉列表框中的值
- java - 未使用分隔符读取 nextLong()
- python - Django Rest Framework 视图集从关系中删除嵌套资源