Python基础(3) - 数据类型:4元组类型

时间:2022-12-14 20:41:53

Python

Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它。Tuple是用()包括起来的。

Tuple与List都是按照定义的顺序进行排序的,索引从0开始,与 list 一样切片 (slice) 也可以使用。注意当分割一个 list 时, 会得到一个新的 list ;当分割一个 tuple 时, 会得到一个新的 tuple。

Tuple对象没有方法。

Tuple 本身是不可变的,但是tuple内部的可变对象元素是可变的:

>>> t = (1,2,[3,4],5)
>>> t[2][0] = 6
>>> t
(1, 2, [6, 4], 5)

使用Tuple的好处:

1.Tuple 比 list 操作速度快。如果定义了一个值的常量集, 并且唯一要用它做的是不断地遍历它, 请使用 tuple 代替 list。

2.如果对不需要修改的数据进行 “写保护”, 可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句, 说明这一数据是常量。如果必须要改变这些值, 则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

3.Tuple可以作为Dictionary的Key,但是List不可以。

4.Tuple可以用作字符串格式化。

Tuple与List互相转换:

Tuple 可以转换成 list, 反之亦然。内置的 tuple 函数接收一个 list, 并返回一个有着相同元素的 tuple。而 list 函数接收一个 tuple 返回一个 list。从效果上看, tuple 冻结一个 list, 而 list 解冻一个 tuple。

>>> l = [1,2,3,4]
>>> t = tuple(l)
>>> t
(1, 2, 3, 4)
>>> l1 = list(t)
>>> l1
[1, 2, 3, 4]
>>>

要当心单元素Tuple的陷阱:

圆括号也被重载作为分组操作符使用,由圆括号包含的单一元素首先被作为分组操作,而不是作为元组的分界符。

>>> a = ('a')
>>> b = ('a',)
>>> type(a)
<type 'str'>
>>> type(b)
<type 'tuple'>

Python基础(3) - 数据类型:4元组类型的更多相关文章

  1. Python基础一数据类型之数字类型

    摘要: python基础一中提到了数据类型,这里主要讲解的是数字类型. 数字类型: 1,整型 2,长整型 3,浮点型 4,复数型 1,整型(int) 定义a = 1 通过type函数查看数据类型,整型 ...

  2. Python基础&lpar;3&rpar; - 数据类型&colon;2字符串类型

    Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...

  3. python基础之数据类型&sol;字符串&sol;元组&sol;列表&sol;字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

  4. python基础之数据类型和数值类型

    python3的六大数据类型: 1.tuple元组 2.number数字 3.string字符串 4.set集合 5.list列表 6.dictionary字典 其中不可变数据3个:tuple.num ...

  5. Python基础&lpar;3&rpar; - 数据类型&colon;3列表类型

    Python 列表是序列对象,可包含任意的Python数据信息,如字符串.数字.列表.元组等.列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加.修改.删除等操作.列表用[]包括起来的. 列 ...

  6. Python基础&lpar;3&rpar; - 数据类型&colon;1数字类型

    Python数据类型 数据类型 是否容器 是否可变 存储方式 数字 否 否 直接 字符串 否 否 直接 列表 是 是 顺序 元组 是 否 顺序 字典 是 是 映射 数字类型 整  型:1,234,0, ...

  7. Python基础&lpar;3&rpar; - 数据类型&colon;5字典类型

    Python Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系 .它是用{}括起来的.每个Dictionary的项的句法为:key:value. Dicti ...

  8. python基础之数据类型之元组和字典

    四.元组 1.用途:元组是不可变的列表,能存多个值,但只能取,不能改 2.定义:name = (‘alex’, ’egon’, ‘wxx’) 在()内用,分割开,可存放任意类型的值 强调:x = (‘ ...

  9. Python基础&colon;1&period;数据类型(元组)

    提示:python版本为2.7,windows系统 1.元组(Tuple) Tuple,与List类似,但是Tuple一旦初始化之后就不能修改了,没有增加.删除.修改元素. >>> ...

随机推荐

  1. 如何在 在SharePoint 2013&sol;2010 解决方案中添加 ashx &lpar;HttpHandler&rpar;

    本文讲述如何在 在SharePoint 2013/2010 解决方案中添加 ashx (HttpHandler). 一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩 ...

  2. Java通过SpyMemcached来缓存数据

    配置好Magent+memcached后,很明显数据之间的输入与输出都是通过代理服务器的,magent是做代理服务器的很明显java在memecached的调用驱动在magent同样适用. 这里选择S ...

  3. LR之脚本调试

    1.概述 2.Animated run和Non-animated run 3.调试小技巧 4.日志设置

  4. GitHub托管BootStrap资源汇总

    MESSENGER替换alert()消息和其他用户交互通知. JQUERY.TOCIFY.JS可以用Bootstrap或jQueryUI主题的Jquery表格组件. BOOTSTRAP-PROMPTS ...

  5. 让程序只运行一个实例&lpar;Delphi篇&rpar;(三种方法,其中使用全局原子的方法比较有意思)

    Windows 下一个典型的特征就是多任务,我们可以同时打开多个窗口进行操作,也可以同时运行程序的多个实例,比如可以打开许多个资源管理器进行文件的移动复制操作.但有时出于某种考虑(比如安全性),我们要 ...

  6. git push解决办法: &excl; &lbrack;remote rejected&rsqb; master -&gt&semi; master &lpar;pre-receive hook declined&rpar;

    前天准备上传一个project到GitLab上,但是试了很多次都上传不上去,报错如下: ! [remote rejected] master -> master (pre-receive hoo ...

  7. &lpar;转&rpar;tasklist命令参数应用详细图解

    原文:https://blog.csdn.net/bcbobo21cn/article/details/51759521 一 操作实例不带参数: /svc参数: /SVC 显示每个进程中的服务信息,当 ...

  8. 步步为营-59-svn简介

    说明:版本控制器Svn的使用,安装教程不再多说 VisualSVN-Server--项目经理 TortoiseSVN--右击的时候显示 VisualSVN-- visual studio中使用 1 搭 ...

  9. Hive安装-windows(转载)

    1.安装hadoop 2.从maven中下载mysql-connector-java-5.1.26-bin.jar(或其他jar版本)放在hive目录下的lib文件夹 3.配置hive环境变量,HIV ...

  10. luogu P2801 教主的魔法

    题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. 每个人的身高一开始都是 ...