web-dev-qa-db-fra.com

Générer une liste de nombres et leurs équivalents négatifs en Python

Existe-t-il une ligne unique pratique pour générer une liste de nombres et de leurs équivalents négatifs en Python?

Par exemple, disons que je veux générer une liste avec les nombres 6 à 9 et -6 à -9.

Mon approche actuelle est:

l = [x for x in range(6,10)]
l += [-x for x in l]

Un simple "one-liner" serait:

l = [x for x in range(6,10)] + [y for y in range(-9, -5)]

Cependant, générer deux listes puis les joindre ensemble semble peu pratique.

62
upe

On dirait que seulement deux réponses ont vraiment donné une seule ligne, alors en voici une autre:

[i for l in map(lambda x: (x, -x), range(6, 10)) for i in l]
[6, -6, 7, -7, 8, -8, 9, -9]
1
Nicolas Gervais