Je veux insérer une paire clé-valeur dans dict si la clé n'est pas dans dict.keys (). En gros, je pourrais le faire avec:
if key not in d.keys():
d[key] = value
Mais y a-t-il une meilleure façon? Ou quelle est la solution Pythonic à ce problème?
Vous n’avez pas besoin d’appeler d.keys()
,
if key not in d:
d[key] = value
est assez. Il n'y a pas de méthode plus claire, plus lisible.
Vous pouvez mettre à jour à nouveau avec dict.get()
, qui renverrait une valeur existante si la clé est déjà présente:
d[key] = d.get(key, value)
mais je recommande fortement contre cela; Il s’agit là d’un code de golf, gênant la maintenance et la lisibilité.
Utilisez dict.setdefault()
:
>>> d = {1: 'one'}
>>> d.setdefault(1, '1')
'one'
>>> d # d has not changed because the key already existed
{1: 'one'}
>>> d.setdefault(2, 'two')
'two'
>>> d
{1: 'one', 2: 'two'}