在Python不可变数据类型中,有一个比较重要的角色那就是元组( tuple )。如果某个对像被定义为元组类型,那么就意味着它的值不能被修改,除非重新定义一个新的对像。元组和List列表常被放在一起进行比较,它们都是序列,所以有许多相同的操作方法,但前者是不可变数据类型,后者是可变数据类型,从本质上又并不相同.

内存结构

如何创建元组tuple

1、创建元组方法很简单,元组是用小括号( )包括起来的,( )括号中的元素用逗号分割,这样就完成元组的创建了。
>>>(1,2,3)
(1,2,3)
如果新建时没有用( )括号包括,只用逗号进行分隔python也会把它认做为元组
>>>1,2,3
(1,2,3)
如果你新建的元组中只有一个值,那么请记得在这个值后边加上逗号
>>>1,
(1,)    
如果没有逗号,python只当把它当做整型来处理。
>>>1
1

2、还有一种有趣的元组创建方法,需要用到tuple函数的功能:它可以一个列表为参数,把它转换为元组。

tuple([1,2,3,4])

>>>(1,2,3,4)

tuple('hello')

>>>('h','e','l','l','o')

用了字符串为参数,结果是把字符串'hello'中的每一个字母,都做为一个新的元素添加到新元组中。

如何读取元组中的数据、值

元组是一个有序的集合,和列表一样可以通过偏移来数据。简单的说,元组支持索引和切片操作。
索引(下标)和切片取值:

x = (0,1,2,3)

x[1]  索引下标

x[2:4]  切片取值   不包含四

如何修改元组的操作方法

元组a = (2,3,3) 要把它变成(3,3,3)

list(a)   把元组转换成列表a =[2,3,3]

a[0]=3  更改元组转变成列表的第一个值

tuple(a)

1、首先引用list( )方法中传入变量a的值,并赋值给变量b,得到列表b = [2,3,3]
2、取列表变量b的第0位的值,并修改为3,此时变量b = [3,3,3]
3、最后用tupel( )方法中传入变量b的值,重新赋值给变量a,此时a = (3,3,3)

如果元组内包含的元素中,有可变数据类型,修改起来就十分方便

变量名为X的元组,第0位下标对应的是一个列表,因为列表是可变数据类型,所以可以直接进行修改

1、元组是一个有序的集合,
2、元组和列表一样可以使用索引、切片来取值。
3、创建元组后不能在原地进行修改替换等操作。
4、元组支持嵌套,可以包含列表、字典和不同元组。
5、元组支持一般序列的操作,例如:+、*
     >>>(1,2)+(3,4)
     (1,2,3,4)
     >>>(7,8)*4
     (7,8,7,8,7,8,7,8)
    注意+、*操作时,返回的是一个新元组

Python 元组遍历排序操作方法的更多相关文章

  1. Python实现各种排序算法的代码示例总结

    Python实现各种排序算法的代码示例总结 作者:Donald Knuth 字体:[增加 减小] 类型:转载 时间:2015-12-11我要评论 这篇文章主要介绍了Python实现各种排序算法的代码示 ...

  2. Python元组、列表、字典、集合

    1. 元组 元组由不同元素组成,每个元素可以存储不同类型的数据,元组是有序的,元组创建后不能再做任何修改. 元组的创建: tuple = ('a','b','c','d') 如果创建的元组只有1个元素 ...

  3. 飘逸的python - 多条件排序及itemgetter的应用

    曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相 ...

  4. python中字符串的操作方法

    python中字符串的操作方法大全 更新时间:2018年06月03日 10:08:51 作者:骏马金龙 我要评论这篇文章主要给大家介绍了关于python中字符串操作方法的相关资料,文中通过示例代码详细 ...

  5. 【转】python文件和目录操作方法大全(含实例)

    python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...

  6. Python元组与字典详解

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup ...

  7. 【Python】常用排序算法的python实现和性能分析

    作者:waterxi 原文链接 背景 一年一度的换工作高峰又到了,HR大概每天都塞几份简历过来,基本上一天安排两个面试的话,当天就只能加班干活了.趁着面试别人的机会,自己也把一些基础算法和一些面试题整 ...

  8. python的常见排序

    在python程序中,我们往往自始至终都在与序列(列表.字典.元组)打交道,而最常用的操作就是对序列排序了.在此简单总结一下python中的排序. 基本排序方法 在python中,list对象具有 s ...

  9. Python 元组和列表

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 ...

随机推荐

  1. Python中classmethod和staticmethod的区别

    学习python中经常会出现一些相近或者相似的语法模块等,需要对比分析才能加深记忆,熟练运用. staticmethod:静态方法 classmethod:类方法 在python中,静态方法和类方法都 ...

  2. vscode打开SpringBoot项目

    1.使用vscode打开java项目所在文件夹 2.按ctl+~ 打开命令面板 mvn -Dmaven.test.skip=true spring-boot:run

  3. [转帖]socat使用笔记

    socat使用笔记 https://blog.csdn.net/yangbingzhou/article/details/49783235 进行简单学习 centos 下面安装 yum install ...

  4. Field baseMapper in com.baomidou.mybatisplus.extension.service.impl.ServiceImpl required a single bean, but xx were found:

    在学习使用 mybatis-plus 时,遇到一个奇怪的异常 如 代码一: 代码一: Error starting ApplicationContext. To display the conditi ...

  5. Redis 内存满了怎么办……

    我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小. 1.通过配置文件配置 通过在Redis安装目录 ...

  6. MyBatis框架 课程笔记

    MyBatis框架 课程笔记   第1章 MyBatis简介 1.1 MyBatis历史 1)MyBatis是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Softw ...

  7. HNUSTOJ-1565 Vampire Numbers(暴力打表)

    1565: Vampire Numbers 时间限制: 3 Sec  内存限制: 128 MB提交: 20  解决: 9[提交][状态][讨论版] 题目描述 The number 1827 is an ...

  8. SQLSERVER还原数据库失败:错误: 3154

    在SQL Server 2008版本中还原从sql server 2005备份出来的数据库时,提示错误:“备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异 ...

  9. C# 中定义扩展方法

    1.编写扩展方法类 using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...

  10. python二维码模块(qrcode)

    qrcode模块安装 运行命令行工具(cmd),使用pip安装工具分别安装qrcode. pip install qrcode 先来个简单的例子 import qrcode # 二维码内容 data ...