python类型-序列-元组
元组是一种不可变类型,元组可用作一个字典的key。
1.创建一个元组并进行赋值
atuple = (123, 'abc', ('inner', 'tuple'), 7-9j)
2.访问元组中的值
元组的切片操作和列表一样,用方括号作为切片操作([]),里面写上索引值或者索引范围
>>> atuple[:2]
(123, 'abc')
3.更新元组
元组是不可变类型,不能更新或改变元组的元素,可通过现有元组的元组片段再构造一个新的元组。
>>> atuple
(123, 'abc', ('inner', 'tuple'), (7-9j))
>>> atuple = atuple[1], atuple[0], atuple[3], atuple[2]
>>> atuple
('abc', 123, (7-9j), ('inner', 'tuple'))
4.移除一个元组的元素以及元组本身
删除一个单独的元组元素是不可能的,del atuple
5.元组操作符和内建函数
元组的对象和序列类型操作符和内建函数和列表完全一样。
创建、重复、连接操作:=、*、+
成员关系操作、切片操作:in、not in、[:]
内建函数:str()、len()、max()、min()、cmp()、list()
操作符:<、>、==
6.元组的特殊特性
虽然元组对象本身是不可变的,但这不意味着元组包含的可变对象也不可变了。
>>> t = (['xyz', 123], 23, -12.3)
>>> t
(['xyz', 123], 23, -12.300000000000001)
>>> t[0][1] = ['abc', 'def']
>>> t
(['xyz', ['abc', 'def']], 23, -12.300000000000001)
>>>
7.默认集合类型
所有的多对象的、逗号间隔的、没有明确用符号定义的(比如用方括号表示列表和用圆括号表示元组)这些集合默认的类型都是元组。
>>> 'abc', 12
('abc', 12)
>>> x, y = 1, 2
>>> x, y
(1, 2)
所有函数返回的多对象(不包括有符号封装的)都是元组类型,有符号封装的多对象集合其实是返回的一个单一的容器对象。
8.单元素元组
>>> type(('xyz'))
<type 'str'>
圆括号被重载了,被用作分组操作符,由圆括号包裹的一个单一元素首先被作为分组操作,而不是作为元祖的分界符,一个普通的方法是在第一个元素的后面添加一个逗号(,)来表明这是一个元组而不是在做分组操作。
>>> type(('xyz',))
<type 'tuple'>
9.元组作为字典的关键字
不可变对象的值是不可变的,通过hash算法得到的值总是同一个值,这是作为字典键值的一个必要条件。
python类型-序列-元组的更多相关文章
- python类型-序列-字符串
python中单引号和双引号的含义是一样的.字符串是一种直接量或者说是一种标量,是不可变类型,字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序的访问. python实际有三类字符串:通常意 ...
- python类型-序列
注:本文档主要是学习<Python核心编程(第二版)>时做的资料整理. 1.序列 序列的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员,包括字符串(普通字符串和Unic ...
- python类型-序列-列表
列表类型也是序列式的数据类型,可通过下标或者切片操作来访问某一个或某一块连续的元素. 列表的元素是可变的,可包含不同类型的元素,列表类型的元素可以是另一个序列类型. 1.创建列表类型数据并赋值 列表使 ...
- python高级变量类型(元组,列表,字典, 字符串和重要方法)
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- python中序列类型
Python中的序列类型使用 元组类型 一旦被创建,就无法被修改. 创建 使用()或者tuple()创建 creater1=('cat', 'dog', 'tiger', 'human') creat ...
- 孤荷凌寒自学python第八天 初识Python的序列之元组
孤荷凌寒自学python第八天 Python的序列之元组 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步音频笔记:https://www.ximalaya.com/keji/19103 ...
- python定义一种新类型的元组
# 定义一种新类型的元组,只保留int类型,切只大于0的元素 # 例如:IntTuple([1,-1,"abc",6,['x','y'],3])==>(1,6,3) # 解决 ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- [python01] python列表,元组对比Erlang的区别总结
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字,字符,甚至可以是其他的数据结构. python最基本的数据结构是sequence(序列):6种内建的序列:列表,元组,字符串, ...
随机推荐
- TextInputLayout低版本bug :“android.view.InflateException: Binary XML file line #6 : Error inflating class Textview”
开发中用到TextInputLayout配合TextInputEdittext做输入框,在android7.0 android8.0手机上运行正常,在异步android5.0.2的手机上,点击输入框就 ...
- JS事件之自建函数bind()与兼容性问题解决
JavaScript事件绑定常用方法 对象.事件 = 函数; 它只能同时为一个对象的一个事件绑定一个响应函数 不能绑定多个,如果有多个,后面的会覆盖前面的 addEventListener() 此方法 ...
- C# event 事件
事件第二篇:https://www.cnblogs.com/FavoriteMango/p/11731485.html 曾经面试碰到一道设计题: 现有一个人,一群鸟,人有一把手枪,当人开枪时,所有的鸟 ...
- 洛谷$P$3168 任务查询系统 $[CQOI2015]$ 主席树
正解:主席树 解题报告: 传送门! 首先考虑如果是单点修改,那就是个线段树板子嘛$QwQ$ 然后现在是区间修改,对于区间修改,显然就考虑差分下,就变成单点修改辣$QwQ$ 同时单点查询前$k$小也就变 ...
- 重新精读《Java 编程思想》系列之final关键字
在java中final关键字标识无法被修改.接下来从final修饰数据.方法和类进行介绍. final数据 final用来告知编译器这一块数据是恒定不变的.数据恒定不变又如下作用: 1.一个永不改变的 ...
- Linux上查找最大文件的 3 种方法
有时候我们在系统上安装了数十个应用程序,随着使用时间的推移,许多文件变得越来越大,从而导致磁盘空间越来越小.那么问题来了,如何找到系统上这些大文件,然后进行一番磁盘空间清理呢,这篇文章就此介绍几种查找 ...
- C语言之while循环
while循环能做什么??? 先来个概念格式,while循环的一般形式为: while(表达式){ 语句块 } 意思是,先计算"表达式"的值,当值为真(非0)时, 执行" ...
- 傅立叶变换—DFT
背景:最近看到实验室其他同学在用傅立叶变换解决问题,我也想通过并行来解决这个问题,所以看了一下傅立叶变换的东西,感觉涵盖的东西还能多,我只是初步做了一下了解(一定很片面,但是我主要是为了应用它,主要了 ...
- linux下压缩包的解压
linux下 最常见的是 .tar.gz 包和.tar.bz2包 .tar.gz格式的压缩包解压命令是: tar -zxvf xx.tar.gz .tar.bz2格式的压缩包 ...
- 【原】C#两个类互相包含类对象可以吗?
在阅读大牛代码的时候发现了这个问题,之所以标题以问号开头,是因为我还没搞懂这个问题.权当记录,以希望以后搞懂. 部分图片转贴吧:http://tieba.baidu.com/p/6015910029 ...