我的程序是遍历坐标(列表)并检查3个坐标从ocoords(列表)中是否为真,并返回或可能获得该假值(坐标)
我正在尝试找到一种在两个结构中找到相似值的有效方法,这两个结构的结构不同但坐标相同。
coordinates = [[(2,2),(3,2)],[(2,2),(2,3)],[(4,2),(5,2)],[(5,2),(6,2)]]
#iterating through coordinates...
>>>
[(2, 2), (3, 2)]
[(2, 2), (2 ,3)]
[(4, 2), (5, 2)]
[(5, 2), (6, 2)]
然后我的下一个列表结构如下(指定的坐标应该一起...
ocoords = [[[(2,2),(3,2)],[(2,2),(2,3)],[(4,2),(5,2)],[(3,3),(3,2)]], <-- last value is not identical
[[(3,2),(4,2)],[(3,2),(3,3)],[(3,3),(4,3)],[(4,3),(4,2)]]] <-- structure of list
那你怎么会这样呢?我是新手,对这个问题很抱歉。我想过使用布尔值,但是我需要得到那个假的值。
我想看看是否有任何坐标都在ocoords [0]中,如果它们是,但是有一个不给我这个值。
答案 0 :(得分:1)
您可以itertools.dropwhile
使用谓词检查router.get('/coin', function(req, res) {
User.getUserByUsername(req.user.username, function(err, user){
user.coins = user.coins + 1
User.update(user) // Stores modified data.
console.log(user.coins)
});
res.redirect('/')
});
中coordinates
中包含的项目
ocoords[0]
如果项目已对齐,您可以使用from itertools import dropwhile
val = next(dropwhile(lambda x: x in ocoords[0], coordinates))
print(val)
# [(5, 2), (6, 2)]
加快速度,而无需检查每个项目的包含,而是检查是否存在成对不匹配:
zip