2015-05-09 71 views
1

我有一个列表a = [[1, 6, 5, 9], [], [], [4, -3]]转让列表(蟒蛇)每秒项目

我想移动每秒项目(6,9和-3)从非空列表进入一个新的。新列表应该如下所示b = [[6, 9], [], [], [-3]]我移动的项目应该从第一个列表中删除。到目前为止,我有这个,但我不知道如何把它们很好地去除:

for i in range(len(a)): 
    if a[i]: 
     b[i] = a[i][1::2] 

有没有办法做到这一点很好(也许列表理解)?我用python3

回答

4

是的,这是可能的,直截了当:

b = [c[1::2] for c in a] 

而不是删除的项目,创建与另一半的新列表:

a = [c[::2] for c in a] 
+0

完美谢谢 – 8324