web-dev-qa-db-ja.com

Python

Pythonで数値とその負の値のリストを生成する便利なワンライナーはありますか?

たとえば、6から9および-6から-9の番号のリストを生成したいとします。

私の現在のアプローチは:

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

単純な「ワンライナー」は次のようになります。

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

ただし、2つのリストを生成してから結合するのは不便に思えます。

62
upe

2つの回答だけが実際に1つのライナーを与えたようですので、ここにもう1つあります。

[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