作者博文地址:http://www.cnblogs.com/spiritman/

Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

创建元组

  元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可

  tup1 = ()          #空元组

  tup2 = ('a','b','c','d')

  tup3 = (1,2,3,'a','b','c')

元组操作方法及实例展示

  可以使用dir(tuple)查看元组支持的操作

count

 功能:统计元组中某元素的个数
语法:T.count(value) -> integer -- return number of occurrences of value
T = ('a','b','c','d',1,2,2,3,4)
T.count(2)
结果:2

index

1 功能:获取元素在元组中的索引值,对于重复的元素,默认获取从左起第一个元素的索引值
2 语法:T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present.
3 T = ('a','b',2,'c','d',1,2,3,4)
4 T.index(2)
5 结果:2 #元素2第一次出现在索引为2的位置
6 T.index(2,3,7)
7 结果:6

T1 + T2

 功能:合并两个元组,返回一个新的元组,原元组不变
语法:T = T1 + T2
T1 = ('a','b','c')
T2 = (1,2,3,4)
T = T1 + T 2
结果:
7 print T
('a','b','c',1,2,3,4)
print T1
('a','b','c')
print T2
(1,2,3,4)

T1 * N

 功能:重复输出元组N次,返回一个新元组,原元组不变
语法:T = T1 * N
T1 = ('a','b',1,2,3)
T = T1 * 3
结果:
print T
('a','b',1,2,3,'a','b',1,2,3,'a','b',1,2,3)
print T1
('a','b',1,2,3)

元组虽然不可变,但是当元组中嵌套可变元素时,该可变元素是可以修改的,元组本身不变,使用id(tuple)查看。

 T = ('a','b','c',[1,2,3,4],1,2,3)
2 id(T)
3 140073510482784
print T[3]
[1,2,3,4]
T[3].append(5)
print T[3]
[1,2,3,4,5]
print T
10 ('a','b','c',[1,2,3,4,5],1,2,3)
11 id(T)
12 140073510482784

元组支持切片操作

 语法:T[start [, stop[, step]]]
实例演示:
T = ('a','b','c','d','e','f','g','h')
print T[:] #取所有元素
('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')
print T[2:] #取从索引2开始到末尾的元素
('c', 'd', 'e', 'f', 'g', 'h')
print T[2:6] #取索引2到6的所有元素,不包含索引6
('c', 'd', 'e', 'f')
print T[2:6:2] #从索引2到6,每隔一个元素取一个
('c', 'e')

作者博文地址:http://www.cnblogs.com/spiritman/

Python序列之元组 (tuple)的更多相关文章

  1. python入门11 元组tuple

    tuple元组是一种不可变数据类型,也是一种序列,因此可用序列的各类方法,比如切片和索引 #coding:utf-8 #/usr/bin/python """ 2018- ...

  2. Python中的元组(tuple)、列表(list)、字典(dict)

    -------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...

  3. Python 创建特殊元组tuple

    创建1个元素的tuple  (1,) 创建单元素tupletuple和list一样,可以包含 0 个.1个和任意多个元素.包含多个元素的 tuple,前面我们已经创建过了.包含 0 个元素的 tupl ...

  4. 【Python⑤】python序列---list和tuple

    sequence 序列 sequence(序列)是一组有顺序的对象的集合.序列可以包含一个或多个元素,也可以没有任何元素. 我们之前所说的基本数据类型,都可以作为序列的对象.对象还可以是另一个序列.序 ...

  5. Python序列结构--元组

    元组:轻量级列表 元组创建于元素访问 >>> x = (1, 2, 3)>>> type(x)<class 'tuple'>>>> x ...

  6. python数据类型之元组(tuple)

    元组是python的基础类型之一,是有序的. 元组是不可变的,一旦创建便不能再修改,所以叫只读列表. name = ('alex', 'jack') name[0] = 'mark' # TypeEr ...

  7. Python基础之元组tuple(带了枷锁的列表)

    元组不能直接插入删除修改元素. 逗号是关键 创建空元组 元组的一些操作符 别忘了逗号,"*"重复操作符也可以使用 元组通过切片间接更新 插入元素,可以使用拼接操作符(“+”) &g ...

  8. 【笔记3-31】Python语言基础-元组tuple

    创建元组 my_tuple = () my_tuple1 = 1, 2, 3, 4, 5, 6 元组解包 与元组元素数量一致 a,s,d,f,g,h = my_tuple1 a, b, c, *f = ...

  9. Python内置数据结构之元组tuple

    1. Python序列之元组:不可修改的序列 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能像列表式的增删改,只能查,切片,所以元组又叫只读列表. 元组用圆括号括起(这是通常采用的做法) ...

随机推荐

  1. centos6.5升级内核到3.0

    因为是使用centos6.5安装的docker,而docker需要内核3.0以上的支持,所以必须升级内核 1. 导入public key rpm --import https://www.elrepo ...

  2. python自动化之models 进阶操作二

    ################################################################## # PUBLIC METHODS THAT ALTER ATTRI ...

  3. kubernetes 比较好的案例-创建tomcat-mysql集群

    安装部署一个tomcat+mysql应用 apiVersion: v1 kind: ReplicationController metadata: name: myweb spec:   //spec ...

  4. cloudstack-kvm-libvirtd

    2.4.libvirtd日志和VM的日志 在运行libvirtd的时候,我们需要获得lbivirtd的运行信息.所以我们需要找到他的日志文件.一般情况下,它是在/var/log/libvirt/lib ...

  5. route(windows)

    1.route delete 0.0.0.0 mask 0.0.0.0 10.33.31.254----------删除默认到内网网关的默认路由:2.route add -p 10.33.0.0 ma ...

  6. c++赋值运算符为什么要返回引用?

    为什么赋值运算符要返回引用?? 因为赋值操作会改变左值,而 + 之类的运算符不会改变操作数,所以说赋值运算符重载要返回引用以用于类似 (a=b)=c 这样的再次对a=b进行写操作的表达式.+ 返回一个 ...

  7. DQL-联合查询

    一.含义union:合并.联合,将多次查询结果合并成一个结果二.语法查询语句1union [all]查询语句2union [all]... 三.意义1.将一条比较复杂的查询语句拆分成多条语句2.适用于 ...

  8. 【CQOI2017】小Q的棋盘

    题面 题解 根据题意,不回头是最好的(显然法) \(dfs\)找到最长链,设长度为\(\mathrm{L}\),然后分类讨论: 如果\(\mathrm{L} > m\),答案就是\(m + 1\ ...

  9. 【HAOI2010】软件安装

    题面 题解 缩点之后一个裸的树型背包 代码 #include<cstdio> #include<cstring> #include<algorithm> #defi ...

  10. MIUI 10 已连接 但无法访问互联网 的解决方案

    wifi为 DHCP 时,我发现得到的总是已经有机器在用的 192.168.1.9  这台机器, 所以只需要手动配置一下ip就行了,随便指定一个,然后ping一下,ping不通的话就配上,然后再重新连 ...