是否可以遍历除特定子集之外的所有字典键?



假设我有一个字典,键是1-10之间的所有数字。我想遍历它,不包括键6-8。有没有可能像

for key in dictionary.keys().exclude([1,2,3])

我用.exclude()来演示我想做什么。

请记住,字典的键是唯一的,因此使用set操作将是合适的(并且非常高效):

dictionary = {i: i for i in range(1, 11, 1)}
for key in set(dictionary) - set([1, 2, 3]):
print(key)

您也可以使用set字面量来代替显式的set转换,如下所示:

for key in set(dictionary) - {1, 2, 3}:
print(key)

并且,正如在评论中指出的那样,您最初拥有的dictionary.keys()将以与set(dictionary)相同的方式表现。

for key in [k for k in dictionary.keys() if k not in [1,2,3]]:
... do something

绕过循环中几个迭代的技术是使用continue.

dictionary = {1: 1, 2: 2, 3 : 3, 4: 4}
for key in dictionary:
if key in {1, 2, 3}:
continue
print(key)

相关内容

  • 没有找到相关文章

最新更新