元组的定义
元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行。
笛卡尔积中每一个元素(d1,d2,…,dn),叫作一个n元组(n-tuple)或简称元组。当关系是一张表,二维表中的行表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为记录。
数组:
数组是 numpy模块里的ndarray对象, 它可以表示多维数组。
数组(array)与列表、元组的区别在于:元素单一类型和内容嵌入。
可直接存储包括 Unicode 字符在内的各种数字内容。至于复合类型,须用 struct、marshal、 pickle 等转换为二进制字节后再行存储。
与列表类似,数组长度不固定,按需扩张或收缩内存。
由于可指定更紧凑的数字类型,故数组可节约更多内存。再则,内容嵌入也避免了标准对象的额外开销,减少活跃对象数量和内存分配次数。
元组:
尽管两者并没有直接关系,但在操作方式上,元组(tuple)可当做列表的只读版本使用。
元组使用小括号语法,但要与普通括号区别开来。
因元组是不可变类型,它的指针数组无需变动,故内存分配乃一次性完成。另外,系统会缓存复用一定长度的元组内存。创建时,按长度提取复用,无需额外内存分配(包括指针数组)。从这点上看,元组的性能要好于列表。
支持与列表类似的运算符操作,但没有 INPLACE,总是返回新对象。
因列表支持插入、删除等操作,所以无法将某个位置(索引序号)的元素与固定内容等同起来。但元组不同,相同序号总是返回同一对象,故可为序号取个别名。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!