如何为给定数量的元素N创建交替列表?

时间:2015-10-11 07:07:16

标签: python python-3.x

如何在python中为给定数量的元素[1, 1, -2, -2, 3, 3, -4, -4, ...]创建类似于N的列表?

例如,如果N = 5,则列表应返回[1, 1, -2, -2, 3]

1 个答案:

答案 0 :(得分:2)

您可以使用列表理解:

[(i // 2) + 1 if (i // 2) % 2 == 0 else -(i // 2) - 1 for i in range(N)]

这只是计算系列中的每个数字。

演示:

>>> N = 5
>>> [(i // 2) + 1 if (i // 2) % 2 == 0 else -(i // 2) - 1 for i in range(N)]
[1, 1, -2, -2, 3]
>>> N = 10
>>> [(i // 2) + 1 if (i // 2) % 2 == 0 else -(i // 2) - 1 for i in range(N)]
[1, 1, -2, -2, 3, 3, -4, -4, 5, 5]