让我问你一个问题。以python为例。列表大小是动态的。事先是无法预料的。这意味着分配给链表的内存只能以链表的形式分配。
在这种情况下,数据在内存中的位置是不连续的。为什么可以通过下标访问?
下标访问的意思是连续存储,但如果是连续的,应该一次打开一个空间,但元素可以随时添加到列表中。
那个这是个问题。有人能解释一下吗?
我很少用py。
你的问题不在一个层面上。
1.不管什么语言,动态列表都会及时分配内存。
2.链表有自己的处理机制,可以用下标访问,不管内存什么时候连续分配!
摘要
直接提取会报错,可以通过使用numpy转换,将数组数组转换成列表来提取。
步骤的详细说明
1.直接提取尝试:
群[[1,2],[2,3],[3,4]]
#选择第一行元素
打印(group[:,1])
#out:typ:列表索引必须是整数或片,而不是元组
2、使用numpy变换:
将numpy作为np导入
群[[1,2],[2,3],[3,4]]
#numpy变换
(组)
打印(ar[:,1])
#out:[234]
扩展内容
numpy详细解释
numpy对象是一个数组,名为ndarray。维度叫轴,轴的数量叫秩。注意:当有几级支架时,有几个尺寸。
一,
ndarray.ndim等级
例如,一个2行3列的矩阵,其shape属性为(2,3)。
数组元素的总数
ndarray.dtype元素类型,numpy提供自己的数据类型。
数组中每个元素的字节大小。
二、数组创建功能:
排列
asarray将输入转换为ndarray。
阿兰格
二进制反码
零
empty只分配内存空间,不填充任何值。
eye创建n*n单位矩阵(对角线为1)。
第三,数组和标量之间的运算
numpy数组的一个特点是可以对数据进行批量操作,而不需要写循环,通常称为向量化。
四。基本索引和切片
索引numpy数组是一个丰富的主题。因为有许多方法可以选择数据子集或单个元素。这里只详细介绍常用的方法,并列出高级函数的名称,方便读者需要时自行查阅资料。