簡體   English   中英

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

[英]Is it possible to iterate through all of a dictionary's keys except a specific subset?

假設我有一本字典,鍵是所有數字 1-10。 我想遍歷不包括鍵 6-8 的內容。 是否可以做類似的事情

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

我編造了.exclude()來演示我想要做什么。

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

請記住,字典的鍵是唯一的,因此使用set操作是合適的(並且非常高效):

dictionary = {i: i for i in range(1, 11, 1)}

for key in set(dictionary) - set([1, 2, 3]):
    print(key)

您還可以使用集合文字而不是顯式set轉換,如下所示:

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

而且,正如評論中所指出的,您最初擁有的dictionary.keys()的行為方式與set(dictionary)相同。

從循環中繞過幾次迭代的技術是使用continue

dictionary = {1: 1, 2: 2, 3 : 3, 4: 4}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM