Je veux exprimer x is in range(0,10), if x == 9 then "B", else "A"
, quelle est la bonne expression pour que dans une ligne? Merci!
["A" for x in range(0,10) if x == 9 or "B"] # wrong
["A" for x in range(0,10) or "B" if x == 9] # wrong
Réponses:
3 pour la réponse № 1Essaye ça:
["A" if x == 9 else "B" for x in range(0,10)]
2 pour la réponse № 2
Alternativement:
>>> ["A"]*9+["B"]
["A", "A", "A", "A", "A", "A", "A", "A", "A", "B"]
2 pour la réponse № 3
Une autre option:
>>> d = {9:"B"}
>>> [d.get(n, "A") for n in range(10)]
["A", "A", "A", "A", "A", "A", "A", "A", "A", "B"]
C’est un peu plus utile si vous avez plusieurs B
valeurs à insérer.
0 pour la réponse № 4
["B" si x == 9 sinon "A" pour x dans l'intervalle (0,10)]