作者博文地址: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. Java动态代理学习

    动态代理类 Java动态代理类位于java.lang.reflect包下,一般主要涉及到以下两个类: 1.Interface InvocationHandler 该接口中仅定义了一个方法: Objec ...

  2. P2854 [USACO06DEC]牛的过山车Cow Roller Coaster

    题目描述 The cows are building a roller coaster! They want your help to design as fun a roller coaster a ...

  3. 倒计数锁存器(CountDown Latch)和 CyclicBarrier(同步屏障)

    倒计数锁存器(CountDown Latch)是异常性障碍,允许一个或多个线程等待一个或者多个其他线程来做某些事情. public static long time(Executor executor ...

  4. 参加360前端星计划总结(二)--HTML&CSS

    HTML学习手册(英文版)html:the living standard 重要知识点 文档声明的作用a. 指定html的文档标准和版本b. 告诉浏览器渲染模式,有怪异模式(较为古老的模式,不写文档声 ...

  5. MySQL学习【第二篇安装】

    一.Mysql安装方式 1.安装方式 1.rpm,yum安装 安装方便,安装速度快,但无法定制 2.二进制安装 不需要安装,解压即用,不能定制功能 3.编译安装 可定制,安装很慢,安装分为四个步骤 1 ...

  6. MySQL添加、删除索引

    1.索引类型 UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值: INDEX(普通索引):允许出现相同的索引内容: PROMARY KEY(主键索引):不允许出现相同的值: fullte ...

  7. HDFS源码文件过大,IDEA打开失败解决方法

    问题现象:hadoop 3.1.0源码文件ClientNamenodeProtocolProtos大小4M+,IDEA打开时加载失败,ClientNamenodeProtocolPB报错找不到类. - ...

  8. sqli-labs学习(less-1-less-4)

    学习sqli-labs之前先介绍一些函数,以便于下面的payload看的懂 group_concat函数 将查询出来的多个结果连接成一个字符串结果,用于在一个回显显示多个结果 同理的还有 concat ...

  9. WPF RichTextBox 自定义文字转超链接

    搬运自StackOverflow private void AddHyperlinkText(string linkURL, string linkName, string TextBeforeLin ...

  10. Scratch 3.0 版本比较

    新年伊始MIT 就正式 发布了Scratch最新3.0版 ,以 HTML5.0 为基础的版本! 本文就来带看看3.0版有哪些更新的地方. 下图是进入后第一个画面,跟Scratch 2.0 很像,熟悉的 ...