元组是一种不可变类型,元组可用作一个字典的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算法得到的值总是同一个值,这是作为字典键值的一个必要条件。

最新文章

  1. mysql_connect() php7不支持,php5.5可以,是废弃函数
  2. 19. 求平方根序列前N项和
  3. 菜鸟学习Hibernate——简单的一个例子
  4. web服务器【apache/nginx] 关闭目录的浏览权限
  5. 嵌入值和序列化LOB
  6. mahout安装配置
  7. C语言进行CGI程序设计
  8. Java课程设计 猜数游戏团队博客
  9. [转]安卓新一代多渠道打包工具Walle 解决渠道包V2签名问题
  10. VM虚拟机链接克隆及linux eth0网卡的快速设置方法
  11. UOJ14 UER #1 DZY Loves Graph(最小生成树+并查集)
  12. Django异步任务之Celery
  13. CANVAS画布与SVG的区别
  14. 01-Unity深入浅出(一)
  15. node 跨域问题
  16. vue路由管理-保留滚动位置功能、按需加载模块名自定义
  17. 3dmax 2012 贴图通道与uv通道,烘焙场景
  18. HTML Strip Char Filter
  19. Webbench的使用
  20. 008 Android activity实现多个界面的相互跳转(主要利用Intent)

热门文章

  1. H3C配置热键--hotkey---系统视图
  2. CF1214
  3. CSS3 彩色渐变动效按钮
  4. IdentityServer4 Clients
  5. androidBLE dfu升级使用及可能出现的问题
  6. C++Review6_优先队列priority_queue
  7. 仿快播APP源码
  8. mac 访达修改所有文件夹默认排序方式
  9. [Vue源码]一起来学Vue模板编译原理(二)-AST生成Render字符串
  10. 什么是特性(Attribute)?