【发布时间】:2020-01-02 14:22:11
【问题描述】:
如果我有几个列表(浮动)的列表,例如
list = [
[111, 111, 4523.123, 111, 111],
[111, 111, 4526.15354, 111, 111],
[111, 111, 4580.112, 111, 111],
]
如何在不使用循环的情况下获得第三列?如果它是 matlab 中的矩阵,我会做list(:,3)。
【问题讨论】:
-
用 lst 替换列表(即不要使用内置函数作为变量名)。然后第三列是:list(zip(*lst))[2]
-
@DarrylG 应该是
list(list(zip(*lst))[2]) -
无论你得到什么答案,请记住它将使用循环somewhere。它们是显式的还是用 Python 或 C 编写的,这是另一个问题,我敢肯定 matlab 的
list(:,3)也在某处使用循环 -
@daveshkumarsingh--是的,在看到您的消息之前通过查看第一个答案就发现了它。
-
@DeveshKumarSingh--list(list(zip(*lst))[2]) 和 list(zip(*lst))[2] 产生相同的结果。我们需要 list(zip(...)) 但为什么需要 list(list(...)))?
标签: python python-3.x list matlab syntax