数组和元组的区别
1个回答
展开全部
数组:
数组是 numpy模块里的ndarray对象, 它可以表示多维数组。
数组(array)与列表、元组的区别在于:元素单一类型和内容嵌入。
可直接存储包括 Unicode 字符在内的各种数字内容。至于复合类型,须用 struct、marshal、 pickle 等转换为二进制字节后再行存储。
与列表类似,数组长度不固定,按需扩张或收缩内存。
由于可指定更紧凑的数字类型,故数组可节约更多内存。再则,内容嵌入也避免了标准对象的额外开销,减少活跃对象数量和内存分配次数。
元组:
尽管两者并没有直接关系,但在操作方式上,元组(tuple)可当做列表的只读版本使用。
元组使用小括号语法,但要与普通括号区别开来。
因元组是不可变类型,它的指针数组无需变动,故内存分配乃一次性完成。另外,系统会缓存复用一定长度的元组内存。创建时,按长度提取复用,无需额外内存分配(包括指针数组)。从这点上看,元组的性能要好于列表。
支持与列表类似的运算符操作,但没有 INPLACE,总是返回新对象。
因列表支持插入、删除等操作,所以无法将某个位置(索引序号)的元素与固定内容等同起来。但元组不同,相同序号总是返回同一对象,故可为序号取个别名。
数组是 numpy模块里的ndarray对象, 它可以表示多维数组。
数组(array)与列表、元组的区别在于:元素单一类型和内容嵌入。
可直接存储包括 Unicode 字符在内的各种数字内容。至于复合类型,须用 struct、marshal、 pickle 等转换为二进制字节后再行存储。
与列表类似,数组长度不固定,按需扩张或收缩内存。
由于可指定更紧凑的数字类型,故数组可节约更多内存。再则,内容嵌入也避免了标准对象的额外开销,减少活跃对象数量和内存分配次数。
元组:
尽管两者并没有直接关系,但在操作方式上,元组(tuple)可当做列表的只读版本使用。
元组使用小括号语法,但要与普通括号区别开来。
因元组是不可变类型,它的指针数组无需变动,故内存分配乃一次性完成。另外,系统会缓存复用一定长度的元组内存。创建时,按长度提取复用,无需额外内存分配(包括指针数组)。从这点上看,元组的性能要好于列表。
支持与列表类似的运算符操作,但没有 INPLACE,总是返回新对象。
因列表支持插入、删除等操作,所以无法将某个位置(索引序号)的元素与固定内容等同起来。但元组不同,相同序号总是返回同一对象,故可为序号取个别名。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询