拆分堆栈(python)



如何以另一种方式将堆栈拆分为单独的堆栈?

例如,我想将堆栈[1, 2, 3, 4, 5, 6, 7, 8, 9]拆分为[1, 3, 5, 7, 9][2, 4, 6, 8]

您可以在堆栈切片上使用步长:

In [11]:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(lst[::2])
print(lst[1::2])
[1, 3, 5, 7, 9]
[2, 4, 6, 8]

所以这里的语法::2转换为<start pos>:<end pos>:<step size>

因此,第一个lst[::2]以 2 为步长,第二个lst[1::2]1 开始,步长为 2

我假设你想区分奇数和偶数

 lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
 odd = [ i for i in lst if i%2]
 even= [ i for i in lst if i%2 == 0 ]

最新更新