我的datastruture实际上是一个字典,它有一个整数键和一个元组列表的值。 我想在该列表中找到特定索引。 例如:
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)。
答案 0 :(得分: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)。