我有一个列表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的新手。最简单的方法是什么?
答案 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]]