元组是一种不可变类型,元组可用作一个字典的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类型-序列-元组的更多相关文章

  1. python类型-序列-字符串

    python中单引号和双引号的含义是一样的.字符串是一种直接量或者说是一种标量,是不可变类型,字符串是由独立的字符组成的,并且这些字符可以通过切片操作顺序的访问. python实际有三类字符串:通常意 ...

  2. python类型-序列

    注:本文档主要是学习<Python核心编程(第二版)>时做的资料整理. 1.序列 序列的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员,包括字符串(普通字符串和Unic ...

  3. python类型-序列-列表

    列表类型也是序列式的数据类型,可通过下标或者切片操作来访问某一个或某一块连续的元素. 列表的元素是可变的,可包含不同类型的元素,列表类型的元素可以是另一个序列类型. 1.创建列表类型数据并赋值 列表使 ...

  4. python高级变量类型(元组,列表,字典, 字符串和重要方法)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  5. python中序列类型

    Python中的序列类型使用 元组类型 一旦被创建,就无法被修改. 创建 使用()或者tuple()创建 creater1=('cat', 'dog', 'tiger', 'human') creat ...

  6. 孤荷凌寒自学python第八天 初识Python的序列之元组

    孤荷凌寒自学python第八天 Python的序列之元组 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步音频笔记:https://www.ximalaya.com/keji/19103 ...

  7. python定义一种新类型的元组

    # 定义一种新类型的元组,只保留int类型,切只大于0的元素 # 例如:IntTuple([1,-1,"abc",6,['x','y'],3])==>(1,6,3) # 解决 ...

  8. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  9. [python01] python列表,元组对比Erlang的区别总结

    数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字,字符,甚至可以是其他的数据结构. python最基本的数据结构是sequence(序列):6种内建的序列:列表,元组,字符串, ...

随机推荐

  1. Qt3升至Qt4需要注意的几件事项浅谈

    Qt3升至Qt4需要注意的几件事项浅谈 公司以前的项目是用Qt3写的,随着时间的推移慢慢显示出Qt3有多方面的限制,因此先公司决定用Qt4来改写这个项目,并为软件添加新功能,在此背景先编写此文章. 先 ...

  2. [vue/no-parsing-error] Parsing error: x-invalid-end-tag.eslint-plugin-vue

    [vue/no-parsing-error] Parsing error: x-invalid-end-tag.eslint-plugin-vue   解决方案:vscode里面选择设置->搜索 ...

  3. Qt、Vc下用fopen打开中文名字的文件(转换成Unicode后,使用_wfopen函数)

    在做一个Qt项目的时候,完成上传文件时,通过fopen打开文件用来读时发现fopen不能打开中文的文件名,自己在网查找一下,解决方法如下 参考:http://weidaohang.org/wanglu ...

  4. mysql:数据库与实例的区别

    题记:最近想更深入的了解mysql,所以买了一些书在学习,趁着这个机会开个坑,整理一下一些我认为重要的知识点. 刚工作那会经常能听到组长提到实例这个词,一开始我以为是服务器... 数据库(databa ...

  5. docker容器内存占用过高(例如mysql)

    简介 该文章适用于配置低,特别是内存低的服务器,在用容器部署服务时有可能会因为容器占用内存过高导致服务挂掉时参考解决(不是运行在容器里的话,也是可以修改mysql的配置文件限制内存占用) 最近用doc ...

  6. 从零开始のcocos2dx生活(二)Node

    节点 Node 文章目录 节点 Node 前言 变量初始化 创建一个节点对象 获取节点依赖的计数器 获取节点的描述(获取节点的Tag) 节点的局部层顺序值(LocalZOrder) 设置节点的Loca ...

  7. 洛谷$P$4137 $Rmq\ Problem / mex$ 主席树

    正解:主席树 解题报告: 传送门$QwQ$ 本来以为是道入门无脑板子题,,,然后康了眼数据范围发现并没有我想像的那么简单昂$kk$ 这时候看到$n$的范围不大,显然考虑离散化?但是又感觉似乎布星?因为 ...

  8. 在 Win7、Win10 家庭版中启用组策略(gpedit.msc)

    Windows 家庭版并没有组策略,对于计算机维护.优化和设置非常不方便.使用以下批处理可以在不安装专业版.旗舰版的情况下启用组策略. 一.新建一个批处理脚本 1 @echo off 2 3 push ...

  9. 从零开始Go语言-GoLand(编译器)-Windows(平台)

    本文章适合那些想入门Go语言,却又不知道如何搭建自己的第一个HelloWorld的同学. 推荐几个Go语言相关学习网站: C语言中文网: http://c.biancheng.net/golang/ ...

  10. Django 博客实现简单的全文搜索

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 搜索是一个复杂的功能,但对于一些简单的搜索任务,我们可以使用 Django Mode ...