Удалить из ключа Python более одного ключа - PullRequest
5 голосов
/ 09 декабря 2011

Есть ли эффективный способ быстрого удаления более чем одного ключа за раз из словаря Python?

Ответы [ 2 ]

13 голосов
/ 09 декабря 2011

Используйте оператор del :

x = {'a': 5, 'b': 2, 'c': 3}
del x['a'], x['b']
print x
{'c': 3}
2 голосов
/ 09 декабря 2011

Общая форма, которую я использую, такова:

  1. Создание списка ключей для удаления из сопоставления;
  2. Цикл по списку и вызов del для каждого.

Пример:

Скажем, я хочу удалить все строковые ключи в отображении.Составьте список из них:

>>> x={'a':5,'b':2,'c':3,1:'abc',2:'efg',3:'xyz'}
>>> [k for k in x if type(k) == str]
['a', 'c', 'b']

Теперь я могу удалить их:

>>> for key in [k for k in x if type(k) == str]: del x[key]
>>> x
{1: 'abc', 2: 'efg', 3: 'xyz'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...