作者:kakeru0o0 | 来源:互联网 | 2023-06-30 17:35
Thisisreallyonlyeasytoexplainwithanexample,sotoremovetheintersectionofalistfromwi
This is really only easy to explain with an example, so to remove the intersection of a list from within a dict I usually do something like this:
这只是一个例子很容易解释,所以要从dict中删除列表的交集我通常会这样做:
a = {1:'', 2:'', 3:'', 4:''}
exclusion = [3, 4, 5]
# have to build up a new list or the iteration breaks
toRemove = []
for var in a.iterkeys():
if var in exclusion:
toRemove.append(var)
for var in toRemove:
del a[var]
This might seem like an unusual example, but it's surprising the number of times I've had to do something like this. Doing this with sets would be much nicer, but I clearly want to retain the 'values' for the dict.
这似乎是一个不寻常的例子,但令人惊讶的是我必须做这样的事情的次数。使用集合执行此操作会更好,但我显然希望保留dict的“值”。
This method is annoying because it requires two loops and an extra array. Is there a cleaner and more efficient way of doing this.
这种方法很烦人,因为它需要两个循环和一个额外的数组。是否有更清洁,更有效的方法。
4 个解决方案