在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'}
广告