Проверьте, существует ли данный ключ в словаре, и увеличьте его - PullRequest
260 голосов
/ 23 января 2009

Учитывая словарь, как я могу узнать, было ли заданному ключу в этом словаре значение не None?

Т.е., я хочу сделать это:

my_dict = {}

if (my_dict[key] != None):
  my_dict[key] = 1
else:
  my_dict[key] += 1

Т.е., я хочу увеличить значение, если оно уже есть, или установить его равным 1.

Ответы [ 12 ]

3 голосов
/ 10 декабря 2012

Вот одна строка, которую я недавно придумал для решения этой проблемы. Он основан на методе словаря setdefault :

my_dict = {}
my_dict[key] = my_dict.setdefault(key, 0) + 1
1 голос
/ 11 октября 2011

Я искал его, не нашел его в Интернете, затем попытал счастья с помощью Try / Error и нашел

my_dict = {}

if my_dict.__contains__(some_key):
  my_dict[some_key] += 1
else:
  my_dict[some_key] = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...