如何以另一种方式将堆栈拆分为单独的堆栈?
例如,我想将堆栈[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 ]