12
votes

Python del si dans le dictionnaire d'une ligne

Y a-t-il une façon une ligne d'une ligne de faire ci-dessous? XXX

MERCI


3 commentaires

Première chose à voir avec de telles questions: Lire le dict Docs entièrement.


@ user683111: vous devez accepter la réponse, si cela fonctionne pour vous :)


Dupliqué possible de Comment supprimer une clé de Dictionnaire?


3 Réponses :


21
votes

Vous pouvez écrire xxx


4 commentaires

Il ne devrait que le supprimer que si la touche est dans MyDic (qui est différente de mydict)


@Michelkeijzers: pensez-vous vraiment que ce n'est pas une faute de frappe?


Sinon, ce serait un dictionnaire vide et essayer de supprimer un élément serait inutile.


Oui, c'était un exemple impraticable, mais c'était destiné à des fins didactiques. Ça m'a aidé



0
votes

Souhaitez-vous appeler cela une doublure:

>>> d={1:2}
>>> if 1 in d: del d[1]
... 
>>> d
{}


1 commentaires

J'appelle cela pas une ligne car il s'agit de deux lignes, il suffit de gratter dans un formulaire non autorisé par Pep 8 . Deux autres raisons que je ne le ferais jamais de cette façon sont (a) ce n'est pas aussi court et joli; (b) Il faut mentionner le nom du dictionnaire et la clé deux fois chacun plutôt qu'on une fois. Les mêmes arguments s'appliquent avec d [k] si k in d sinon contre d.get (k, v) .



3
votes

Outre la méthode POP On peut toujours appeler expliquer explicitement l'appelant __ delitem __ méthode - qui fait la même chose que del , mais est fait comme expression plutôt que comme une déclaration. Comme il s'agit d'une expression, elle peut être combinée avec la "si" (version de Python de l'opérateur Ternaire C): xxx


0 commentaires