在Python中迭代時刪除字典中的項
Python字典是一個無序、可變且帶索引的集合。它們具有鍵和值,每個專案都使用鍵來引用。在本文中,我們將探討刪除字典中專案的方法。
使用del和鍵
在這種方法中,我們捕獲需要刪除的鍵值。應用del函式後,這些鍵的鍵值對將被刪除。
示例
# Given dictionary ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} # Get keys with value in 2,3. to_del = [key for key in ADict if key in(2,3)] # Delete keys for key in to_del: del ADict[key] # New Dictionary print(ADict)
輸出
執行以上程式碼將得到以下結果:
{1: 'Mon', 4: 'Thu', 5: 'Fri'}
使用包含鍵的列表
我們可以建立一個包含字典中鍵的列表,並使用條件表示式來選擇用於刪除的鍵。在下面的示例中,我們只考慮了值是偶數的鍵(透過判斷除以2的餘數是否等於零)。
示例
# Given dictionary ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} # Get keys with even value for key in list(ADict): if (key%2) == 0: del ADict[key] # New Dictionary print(ADict)
輸出
執行以上程式碼將得到以下結果:
{1: 'Mon', 3: 'Wed', 5: 'Fri'}
使用items刪除
我們可以使用字典的items來刪除值,而不是鍵。但是,在選擇專案後,我們必須間接使用鍵來選擇要刪除的專案。
示例
# Given dictionary ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} NewDict = [] # Get keys with even value for key,val in ADict.items(): if val in('Tue','Fri'): NewDict.append(key) for i in NewDict: del ADict[i] # New Dictionary print(ADict)
輸出
執行以上程式碼將得到以下結果:
{1: 'Mon', 3: 'Wed', 4: 'Thu'}
廣告