如何以另一种方式将堆栈拆分为单独的堆栈?
对于一个实例,我想将堆栈[1, 2, 3, 4, 5, 6, 7, 8, 9]
拆分为[1, 3, 5, 7, 9]
和[2, 4, 6, 8]
。
答案 0 :(得分:7)
您可以使用堆栈的step size on the slice:
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步
答案 1 :(得分:1)
我假设你想分开奇数和偶数
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 ]