无法正确找到列表中的子列表数

时间:2021-01-06 01:44:41

标签: python arrays

我有这个清单:

 x = [[[595.5  92.5  72.1]
     [253.5 274.5  88.1]
     [433.5  94.5  75.8]
     [458.5 276.5  85.3]
     [132.5  93.5  58.8]
     [764.5  92.5  79.6]
     [666.5 277.5  93.5]
     [275.5  92.5  67.7]]]

当我执行 len(x) 时,它给了我 1,但我们有 8 个列表。我不明白为什么,我如何获得值 8?

2 个答案:

答案 0 :(得分:2)

len(x[0])

既然你想得到第一个维度的长度

换句话说, len(x) 给出第 0 维的项目数 例如

> x=1,2
> len(x)
2
> x=1,2,3
> len(x)
3

获取第一项的行数

len(x[0])

获取第一项第一行的列数

len(x[0][0])

获取第一行和第二行的列数

len(x[0][1])

依此类推

答案 1 :(得分:0)

问题在于您有一个 3D 列表。也就是说,有 3 个级别的列表。

有一个顶级列表(第一对 [])。这个顶级列表还包含一个列表(第二对 [])。在第二个列表中,您终于有了 8 个列表。

因此,当您执行 len(x) 时,它会查看顶级列表,但只看到其中的一个元素,即内部列表。

所以,

  • len(x) = 1 因为里面只有一个列表
  • len(x[0]) 是顶级列表中一个列表的长度。这就是您要查找的内容,因为第二个内部列表包含您剩余的 8 个列表。

TLDR:你需要使用 len(x[0])

相关问题