Поведение по умолчанию для словаря python - это создать новый ключ в словаре, если этот ключ еще не существует. Например:
d = {}
d['did not exist before'] = 'now it does'
все это хорошо и полезно для большинства целей, но что, если я хочу, чтобы python ничего не делал, если ключ еще не находится в словаре. В моей ситуации:
for x in exceptions:
if masterlist.has_key(x):
masterlist[x] = False
Другими словами, я не хочу, чтобы некоторые неправильные элементы в исключениях повреждали мой главный список. Это так просто, как это получается? он ЧУВСТВУЕТ, как я должен быть в состоянии сделать это в одной строке внутри цикла for (т.е. без явной проверки того, что x является ключом главного списка)
UPDATE: Для меня в моем вопросе возникает вопрос о отсутствии параллели между списком и диктоном. Например:
l = []
l[0] = 2 #fails
l.append(2) #works
с ответом подкласса, вы можете изменить словарь (возможно, "safe_dict" или "explicit_dict", чтобы сделать что-то подобное:
d = {}
d['a'] = '1' #would fail in my world
d.insert('a','1') #what my world is missing