0

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

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

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

4

1 回答 1

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) 。

于 2013-02-07T19:16:31.573 回答