Eu quero expressar x is in range(0,10), if x == 9 then "B", else "A"
, qual é a expressão certa para isso em uma linha? Obrigado!
["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
Respostas:
3 para resposta № 1Tente isto:
["A" if x == 9 else "B" for x in range(0,10)]
2 para resposta № 2
Alternativamente:
>>> ["A"]*9+["B"]
["A", "A", "A", "A", "A", "A", "A", "A", "A", "B"]
2 para resposta № 3
Outra opção:
>>> d = {9:"B"}
>>> [d.get(n, "A") for n in range(10)]
["A", "A", "A", "A", "A", "A", "A", "A", "A", "B"]
Isso é um pouco mais útil se você tiver vários B
valores a serem inseridos.
0 para a resposta № 4
["B" se x == 9 ou mais "A" para x no intervalo (0,10)]