python - 列表大小不同

标签 python list size

有人可以向我解释一下列表大小的差异吗?一次是(x,1),另一个是(x,)。我想我因此得到了一个 idexError 。

谢谢 enter image description here

print(Annotation_Matrix)
   [array([[1],
   ..., 
   [7],
   [7],
   [7]], dtype=uint8)]

print(idx)
[array([ True,  True,  True, ..., False, False, False], dtype=bool)]

附:左边的创建是用

matlabfile.get(...)

正确的一个

in1d(...) 

最佳答案

大小为 (x,1) 的数组 A 是 x 行 1 列(二维)的矩阵,与大小为 (1,x) 的 A.T 不同。它们具有相同的元素,但“方向”不同。 大小为 (x,) 的数组 B 是 x 坐标(1 维)的向量,没有任何方向(它不是行也不是列)。它只是一个元素列表。

在第一种情况下,可以使用 A[i,:] 访问元素,它与 A[i,0] 相同(因为它只有一列)。 在后面,调用 B[i,:] 会导致错误,因为数组 B 只有一维。正确的调用是 B[i]。

希望这可以帮助您解决问题。

关于python - 列表大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38097829/

相关文章:

python - 计算每个 Pandas 组的百分比份额并转换为新列

python - 根据列属性对多索引级别进行排序

java - ListMultimap 不保留插入顺序

android - 如何在Android中获取已安装SD卡的实际大小?

objective-c - 以编程方式设置 NSWindow 大小

Python:在静态上下文中嵌套一行for循环时出错

python - Django 使用替换的 Auth 模型抛出操作错误

java - 从文件读取到列表

python - 猜谜游戏中输入多个相同的数字;循环停止工作?

c - Valgrind 在二维数组中读取 1 的大小无效