Python:从较大的列表列表中填充列表的空列表

时间:2019-02-26 02:37:05

标签: python

我有一个列表f的列表:

f= [[1,2,3], [4,5,6], [7,8,9], [10,11,12]]

我想填充一个空列表,

new_list = [],以及f中的第1列和第3列。

当我尝试:

for row in f:
    new_list.append(row[0])
    new_list.append(row[2])

我得到结果:

new_list = [1,3,4,6,7,9,10,12]

但是我想要的是:

new_list = [[1,3],[4,6],[7,9],[10,12]]

我是python的新手。最简单的方法是什么?

3 个答案:

答案 0 :(得分:1)

为什么不呢?

new_list = [i[::2] for i in f]

现在:

print(new_list)

输出:

[[1, 3], [4, 6], [7, 9], [10, 12]]

您必须遍历列表,访问每个子列表,之后我们要做的就是获取每一秒的元素,但是如果您只想得到零和二,请执行以下操作:

new_list = [[i[0],i[2]] for i in f]

答案 1 :(得分:0)

代替:

for row in f:
    new_list.append(row[0])
    new_list.append(row[2])

使用:

for row in f:
    nested_list = [row[0], row[2]]
    new_list.append(nested_list)

可以肯定的是,如果您知道如何使用列表推导,则@ U9-Forward的答案会更好。

答案 2 :(得分:0)

只需执行

new_list = f
for col in new_list :
    del col[1]

这将输出为

[[1, 3], [4, 6], [7, 9], [10, 12]]