【发布时间】:2020-06-20 08:11:40
【问题描述】:
在 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)]
但是,生成两个列表然后将它们连接在一起似乎很不方便。
【问题讨论】:
-
正数应该在负数之前吗?
-
@Erich 不,在我的情况下顺序无关紧要。
-
如果顺序无关紧要,它甚至需要是一个列表吗?一个集合是好的(无序的),还是一个生成器或元组(两者都是有序的)?
-
@J.G.稍后我可能想创建一个图形。据说使用scatter 等。所以任何
scalar or array-like, shape都可以。 -
这些答案大多读起来像一些反高尔夫解决方案;排序、生成器函数、迭代工具。我宁愿维护您提供的代码,也不愿维护大多数“答案”。
标签: python python-3.x