10.python内置数据--元组
时间:2019-10-21
本文章向大家介绍10.python内置数据--元组,主要包括10.python内置数据--元组使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.元组tuple
- 一个有序的元素组成的集合
- 使用小括号()表示
- 元组是不可变对象,所以增、改、删方法都没有
2.定义
- 多元素的时候,t = (1,3,6,7,3,7,12)
- 单元素的时候,t = (1,),要注意元素的后面需要跟一个逗号
1 >>> t = (1,3,6,7,3,7,12) 2 >>> t 3 (1, 3, 6, 7, 3, 7, 12) 4 >>> type(t) 5 <class 'tuple'> 6 >>> t1 = (1) 7 >>> type(t1) 8 <class 'int'> 9 >>> t1 = (1,) 10 >>> type(t1) 11 <class 'tuple'> 12 >>> t1 13 (1,) 14 >>> t2 = (1,2,3)*3 15 >>> t2 16 (1, 2, 3, 1, 2, 3, 1, 2, 3) 17 >>>
3.元组元素的访问:
- 支持索引(下标)
- 正索引:从左到右,从0开始,为列表中每一个元素编号
- 负索引:从右到左,从-1开始
- 正负索引不可以越界,否则引发异常IndexError
- 元组通过索引访问
- tuple[index],index就是索引,使用中括号访问
1 >>> t = tuple(range(5)) 2 >>> t 3 (0, 1, 2, 3, 4) 4 >>> t[1] 5 1 6 >>> t[1] = 4 7 Traceback (most recent call last): 8 File "<stdin>", line 1, in <module> 9 TypeError: 'tuple' object does not support item assignment 10 >>>
4.查询
- index(value,[start,[stop]])
- 通过值value,从指定区间查找列表内的元素是否匹配
- 匹配第一个就立即返回索引
- 匹配不到,抛出异常ValueError
- count(value)
- 返回列表中匹配value的次数
- 时间复杂度
- index和count方法都是O(n)
- 随着列表数据规模的增大,而效率下降
- len(tuple)
- 返回元素的个数
5.可修改的特殊情况
- 元组中有例如列表字典之类的元素时,可修改,然而仅仅修改的是可修改元素的内容
1 >>> t = (1,5,[4,11,6],5,9) 2 >>> t 3 (1, 5, [4, 11, 6], 5, 9) 4 >>> t[0] = 11 5 Traceback (most recent call last): 6 File "<stdin>", line 1, in <module> 7 TypeError: 'tuple' object does not support item assignment 8 >>> t[2][0] = 8 9 >>> t 10 (1, 5, [8, 11, 6], 5, 9) 11 >>>
6.命名元组namedtuple
- 帮助文档中,查阅namedtuple,有使用例程
- namedtuple(typename, field_names, verbose=False, rename=False)
- 命名元组,返回一个元组的子类,并定义了字段
- field_names可以是空格或逗号分割的字段的字符串,可以是字段的列表
- from collections import namedtuple 导入模块
1 >>> from collections import namedtuple 2 # 导入该模块 3 >>> Point = namedtuple('_Point','x,y') 4 # Point是类型,_Point是类名称,x与y可以理解成变量实例 5 >>> type(Point) 6 <class 'type'> 7 # 可以看到Point是个类型 8 >>> p1 = Point(11,22) 9 >>> p1 10 _Point(x=11, y=22) 11 >>> p1.x 12 11 13 >>> p1.y 14 22 15 >>> Student = namedtuple('Student','name age') 16 >>> tom = Student('tom',20) 17 >>> jerry = Student('jerry',18) 18 >>> tom.name 19 'tom' 20 >>> tom.age 21 20 22 >>>
原文地址:https://www.cnblogs.com/linfengs/p/11713462.html
- Python中下划线---完全解读
- python常见模块之collections模块
- MYSQL之库操作
- 实战-如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓
- lightswitch binding custom control
- 3339: Rmq Problem
- Codeforce GYM 100741 A. Queries
- UVA - 11178 Morley's Theorem
- PyMySQL模块的使用
- Python之进程
- Angularjs 通过asp.net web api认证登录
- P3391 【模板】文艺平衡树(Splay)
- 零基础入门小程序 &实战经验分享
- mysql explain详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos7下误删python2和yum的解决办法
- Java正则表达式匹配日期及基本使用
- VM虚拟机中linux centOS 联网单网卡配置教程
- Python操作redis数据库
- pytest 测试框架学习(1):初识
- 爬虫工程师也应该会的 NodeJS 知识(三)- 快速抛弃 execjs
- 八皇后问题Python实现
- 进击吧!Pythonista(6/100)
- 进击吧!Pythonista(9/100)
- 数据结构基础(一)数组,矩阵
- pytest 测试框架学习(3):pytest.approx
- pytest 测试框架学习(4):pytest.fail
- SpringBoot 开发秘籍 - 启动时配置校验
- pytest 测试框架学习(5):pytest.skip
- pytest 测试框架学习(6):pytest.importorskip