元组(tuple)特点:

  1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问

  2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)

  3.支持任意类型,任意嵌套以及常见的序列操作

  4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

  5.tuple没有像列表一样有append/extend/remove/pop等增删改操作,它存在的目的就是不想让别人修改它

元组常用使用方法:

>>> t = ()  #空元组
>>> t =('a',)  #单个元素元组,注意逗号必须
>>> t =('a','b','c',)

其他同序列基本操作:分片,索引:

>>> print t[0]
a
>>> print t[-1]
c
>>> print t[:2]  #分片打印从0开始到第2个元素,注意不包含第二个
('a','b')

对元组的操作并不会对原来的元组造成影响:

>>> print t+('d','e')
('a', 'b', 'c', 'd', 'e')
>>> print t * 2
('a', 'b', 'c', 'a', 'b', 'c')
>>> print t.index('a')
0
>>> print t.count('b')
1

列表元组转换,在这里列表和元组能够相互转换是因为他们内部接收的都是一个序列,而不是一个指定的列表或者元组:

>>> l = [1,2,3]
>>> lt = tuple(l)
>>> print lt
(1, 2, 3)

字符串转元组之后得到字符元组序列:

>>> print tuple('hello')
('h','e','l','l','o')

元组的用途:

1.赋值

>>> t = 1,2,3  #等价 t = (1, 2, 3)
>>> x, y, z = t  #序列拆封,要求左侧变量数目和右侧序列长度相等

2.函数多个返回值

>>> def test():
>>> return (1,2)
>>> x, y = test()

3.传参

>>> def print_list(l):
>>> t = tuple(l)
>>> dosomething()

4.字符串格式化

>>> print ("Hi my name is %s, I'm %d years old" % ('stanley',2))
Hi my name is stanley, I'm 2 years old

元组相比其他类型的优点:

1.性能:

  tuple比列表操作速度更快

2.不可变性:

  对不需要的数据进行“写保护”,使代码更加安全

  不可变性,若在程序中以列表形式传递对象集合,可能在任何地方被改变,使用元组,则不能

  不可变性只适用于元组本身顶层而非其内容,例如元组内部的列表可以修改

Python基础:元组的更多相关文章

  1. python基础——元组(tuple)

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tuple1 = () tuple2 = ...

  2. Python基础-元组、列表、字典

    元组tuple 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组.例:(1,2,3)("a","b","c&q ...

  3. python基础——元组、文件及其它

    Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...

  4. python基础——元组

    元组运算符 与字符串一样,元组之间可以使用 + 号和 * 号进行运算.这就意味着他们可以组合和复制,运算后会生成一个新的元组. Python 表达式 结果 描述 len((1, 2, 3)) 3 计算 ...

  5. python 基础 元组()

    # 元组 应用场景 # 尽管 Python的列表中可以存储不同类型的数据 # 但是在开发中,更多的应用场景是 # 1.列表存储相同类型的数据 # 2.通过迭代遍历,在循环体内部,针对列表中的每一项元素 ...

  6. python基础 - 元组操作

    元组 tuple 元组是不可变对象. 元组初始化 t = tuple() t = () t = tuple(range(1,7,2)) t = (1,2,3,4,5,1) t = (1,) t = ( ...

  7. python基础-元组

    操作元组 获取元组中的值 tup1 = ('高数','计算机',2008,2016) tup2 = (1,2,3,4,5,6,7) #和list的一样,同样取下标1,2,3,4的值 print(&qu ...

  8. python基础-元组(tuple)及内置方法

    元组-tuple 用途:用于存储多个不同类型的值,但是不能存储可变类型数据 定义方法:用小括号存储数据,数据与数据之间通过逗号分隔,元组中的值不能改变. 注意: 1.定义元组时,如果里面只有一个值,在 ...

  9. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  10. Python基础:序列(列表、元组)

    一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...

随机推荐

  1. Python——GUI编程(python programming)

    import sys from math import * from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidg ...

  2. 重启sshd服务

    查看状态: systemctl status sshd.service 启动服务: systemctl start sshd.service 重启服务: systemctl restart sshd. ...

  3. C基础知识(13):内存管理

    如果事先不知道数组的具体长度,则需要动态分配内存.下面是例子. #include <stdio.h> #include <stdlib.h> #include <stri ...

  4. Day3 && Day4

    本章内容对我来说真的是学的稀里糊涂的,除了前两题吭哧吭哧独立完成,第三题参考了别人的思路外,其余题目均是现学现卖,有点迷啊.所以写这篇博客的目的是先记录下聚聚们对本章内容相关重点的要求,并搜集一些相关 ...

  5. JavaScript(3)——文档工具

    文档工具 LEARN HTML = 教程 HTML REFERENCE = 字典 HTML + CSS + JAVASCRIPT = DYNAMIC  HTML 推荐浏览器: Chrome浏览器(有丰 ...

  6. 使用robotframework做接口测试二——处理响应数据

    初使用RequestsLibrary做接口测试时,你会不会感到困惑,为什么会有${resp.content}, ${resp.status_code}这样的写法,这个status_code什么鬼,f5 ...

  7. 'caching_sha2_password' cannot be loaded

    Authentication plugin 'caching_sha2_password' cannot be loaded 下载新版(8+)mysql的时候,我使用的版本8.0.16,使用图形客户端 ...

  8. java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents...

    出现这个错误的原因是时区有问题,可以在mysql中执行命令: set global time_zone='+8:00'; 如上是修改为北京时间(GMT+0800). 查看修改: show variab ...

  9. Linux C\C++基础 字符数组、字符串和字符串常量

    1.字符数组和字符串 C语言没有字符串类型,用字符数组模拟 字符串一定是字符数组,字符数组不一定是字符串 如果字符数组以字符'\0'('\0'等同与数字0)结尾,那么这个字符数组就是字符串 char ...

  10. 【Linux开发】linux设备驱动归纳总结(八):1.总线、设备和驱动

    linux设备驱动归纳总结(八):1.总线.设备和驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...