Python内置数据类型之Tuple
2016-03-02 10:34
323 查看
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。还有就是,list使用中括号[],而tuple使用小括号(),也算是快速识别tuple的一种方法。
1、创建元组
创建一个元组很简单,只需要在括号中添加元素,元素之间使用逗号分隔即可:
2、访问元组
元组的访问和list相同,访问list元素的方法都可以访问元组,不同之处由于元组不能修改,所以元组没有append、insert和pop等方法:
元组中的元素不能修改,不过我们可以连接两个元组:
虽然元组中的元素不能修改,我们可以使用del语句删除整个元组:
前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:
注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:
print t
('a', 'b', ['X', 'Y'])
第三个元素的内容变了。
先看看刚定义时t的内容:
当我们把list的元素'A'和'B'修改为'X'和'Y'后,t变为:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
6、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
7、元素的索引与截取
这些操作元组和list相同。
8、Python内置函数
其中max、min、cmp、len等函数的使用和list相同,元组还有一个tuple函数,用来将序列转换为元组:
任意无符号的对象,以逗号隔开,默认为元组,如下实例:
1、创建元组
创建一个元组很简单,只需要在括号中添加元素,元素之间使用逗号分隔即可:
t = (0,1,2,3,4,5,6,7,8,9)同list,元组中的元素也可以是不同类型的数据:
t=(1,"Hello",False)当然还可以创建空元组:
t=()需要注意的是,由于在python中小括号()也是运算符,所以创建只含有一个元素的元组时要这样:
t=(1,)在元素后面添加一个逗号,就可以区分是否是元组了。
2、访问元组
元组的访问和list相同,访问list元素的方法都可以访问元组,不同之处由于元组不能修改,所以元组没有append、insert和pop等方法:
tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, 6, 7 ); print "tup1[0]: ", tup1[0] print "tup2[1:5]: ", tup2[1:5]结果:
tup1[0]: physics tup2[1:5]: (2, 3, 4, 5)3、修改元组
元组中的元素不能修改,不过我们可以连接两个元组:
tup1=(1,2) tup2=("Hello","World") tup3=tup1+tup2 print tup3结果:
(1,2,"Hello","World")4、删除元组
虽然元组中的元素不能修改,我们可以使用del语句删除整个元组:
del tup35、"可变"的元组
前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:
t = ('a', 'b', ['A', 'B'])
注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:
L = t[2]然后,我们可以把list中的两个元素改一改:
L[0]='X' L[1]='Y'再看看t的内容:
print t
('a', 'b', ['X', 'Y'])
第三个元素的内容变了。
先看看刚定义时t的内容:
当我们把list的元素'A'和'B'修改为'X'和'Y'后,t变为:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
6、元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
7、元素的索引与截取
这些操作元组和list相同。
8、Python内置函数
其中max、min、cmp、len等函数的使用和list相同,元组还有一个tuple函数,用来将序列转换为元组:
tuple(seq)9、其他
任意无符号的对象,以逗号隔开,默认为元组,如下实例:
t=1,2,3 print t #(1,2,3)
相关文章推荐
- Python爬虫入门四之Urllib库的高级用法
- Python爬虫入门三之Urllib库的基本使用
- Python爬虫入门二之爬虫基础了解
- Python爬虫入门一之综述
- RNN 入门教程 Part 2 – 使用 numpy 和 theano 分别实现RNN模型
- python操作字符串类型json的注意点
- 实例讲解Python设计模式编程之工厂方法模式的使用
- python implement queue
- Python 线程同步
- python queue
- mac下为python安装MySQLdb
- python文件读写编码
- 详解设计模式中的工厂方法模式在Python程序中的运用
- 新建从网页拷贝代码的python文件保存不了的解决方案
- python的【字典dict】:创建、访问、更新、删除;查看键、值、键值对;遍历;排序
- Python:You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit byt
- 【python】Beautiful Soup的使用
- Learning Apriori Algorithm - in Python
- 介绍一个python的新的web framework——karloop框架
- 5.7 Python API(for Elasticsearch)