python 元组

来源:互联网 发布:安居客网络门店管理 编辑:程序博客网 时间:2024/06/16 09:55
元组 (tuple) 看上去像列表的只读版本,但在底层实现上有很多不同之处。
• 只读对象,元组和元素指针数组内存是⼀一次性连续分配的。
• 虚拟机缓存 n 个元素数量⼩小于 20 的元组复⽤用对象。
在编码中,应该尽可能⽤用元组代替列表。除内存复⽤用更⾼高效外,其只读特征更利于并⾏行开发。
基本操作:
>>> a = (4)? ? ? ? ? # 少了逗号,就成了普通的括号运算符了。
>>> type(a)
<type 'int'>
>>> a = (4,)?? ? ? ? # 这才是元组。
>>> type(a)
<type 'tuple'>
>>> s = tuple("abcadef")? ? ? # 将其他序列类型转换成元组。
>>> s
('a', 'b', 'c', 'a', 'd', 'e', 'f')
>>> s.count("a")? ? ? ? # 元素统计。
2
>>> s.index("d")? ? ? ? # 查找元素,返回序号。
4
标准库另提供了特别的 namedtuple,可⽤用名字访问元素项。
>>> from collections import namedtuple
>>> User = namedtuple("User", "name age")? # 空格分隔字段名,或使⽤用迭代器。
>>> u = User("user1", 10)
>>> u.name, u.age
('user1', 10)
其实 namedtuple 并不是元组,⽽而是利⽤用模板动态创建的⾃自定义类型。
0 0
原创粉丝点击