繁体   English   中英

在元组列表中搜索元组值

[英]search for a tuple value in a list of tuples

我的数据结构实际上是一个字典,具有一个整数键和一个值为元组列表的值。 我想在该列表中找到一个特定的索引。 例如:

 d = {}
 d[2] = [(1,-2),(2,4),(3,2)]
 d[1] = [(1,-2),(1,4)]

我想在索引为2或-2的列表中找到所有元组(它们可以在元组的第一个或第二个成员中)。 然后根据某些条件,我想从列表中删除元组元素。 例如,我要从列表d [2]中删除(1,-2)。 我没有找到执行此步骤的有效方法,因为每当我从d [2]中删除(1,-2)时,我都希望从列表d [1]中将其删除。

>>> a = [(1,1), (2,2)]
>>> if (1,1) in a:
...     print 'Ok'
... 
Ok
>>> 

删除东西:

>>> b = [(1,-1,(3,1),(5,2)]
>>> filter(lambda a: a != (1,-1), b)

应该给你:

[(3,1),(5,2)]

所以..

d = {}
d[2] = [(1,-2),(2,4),(3,2)]
d[1] = [(1,-2),(1,4)]

for k, v in d.items():
    d[k] = filter(lambda a: a != (1,-1), v)

这将从您的字典中完全删除(1,-1)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM