1.序列(sequence):

说明:在前面的字符串列表中其实我们已经用到了序列,之所以放到这篇来讲主要是为了承上启下,方便理解和记忆。

python的数据访问模型:直接存取 ,序列 ,映射

  • 对非容器类都可以直接存取,所有的数值类型归为此类。
  • 序列类型是指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。 字符串、列表、元组归到次类
  • 映射类型和序列类型不同之处,它使用的索引和顺序的数字偏移量不同,它的元素无序存放,通过唯一的key来访问。 字典就是这种类型。

2.Python 元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

2.1 创建元组

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

示例1:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/11 20:54
# @Author  : wwyx
tup1 = ("python", "java", "c", "c++")
tup2 = ("德玛西亚", "诺克萨斯", "艾欧呢呀")
tup3 = ("提款姬", "托儿索", "儿童劫", "娃娃鱼", "小学僧")
print "tup1 如下 :"
for var1 in tup1:
    print var1
print "tup2 如下 :"
for var2 in tup2:
    print var2
print "tup3 如下:"
for var3 in tup3:
    print var3

示例1 运行结果:

tup1 如下 :
python
java
c
c++
tup2 如下 :
德玛西亚
诺克萨斯
艾欧呢呀
tup3 如下:
提款姬
托儿索
儿童劫
娃娃鱼
小学僧

2.2创建空元组

元组中只包含一个元素时,需要在元素后面添加逗号

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

示例2

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/11 20:54
# @Author  : wwyx
tup1 = ()  #创建空元组
tup2 = ("艾欧呢呀",) #创建一个元组

print tup1
print tup2[0]

示例2 运行结果:

()
艾欧呢呀

注:元组中的元素遍历根据序列的遍历方法遍历,如果直接打印 如上例中的 tup2 则会返回 tup2 在内存中的表示

2.3访问元组

  • 元组的访问可以通过for迭代来访问,如示例1
  • 元组的访问也可以通过序列的索引来遍历,如示例2

2.4修改元组

注:元组中的元素值是不允许修改的,但我们可以对元组进行连接组合.

示例3:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/11 20:54
# @Author  : wwyx
tup1 = ("python", "java", "c", "c++")
tup2 = ("德玛西亚", "诺克萨斯", "艾欧呢呀")
tup3 = ("提款姬", "托儿索", "儿童劫", "娃娃鱼", "小学僧")
tup4 = tup1 + tup2 + tup3
print "tup4 如下:"
for var1 in tup4:
    print var1

示例3 运行结果

tup4 如下:
python
java
c
c++
德玛西亚
诺克萨斯
艾欧呢呀
提款姬
托儿索
儿童劫
娃娃鱼
小学僧

2.5删除元组

注:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

示例4

tup2 = ("德玛西亚", "诺克萨斯", "艾欧呢呀")
tup3 = ("提款姬", "托儿索", "儿童劫", "娃娃鱼", "小学僧")
print "tup2如下:"
for var1 in tup2:
    print var1
del tup2
print "删除后的 tup2如下:"
print tup2[2]
del tup3[2]  # 删除tup3的索引为2的元素

示例4 运行结果

tup2如下:
Traceback (most recent call last):
德玛西亚
  File "E:/python/hello/untitled3/tuple.py", line 14, in <module>
诺克萨斯
    print tup2[2]
艾欧呢呀
NameError: name 'tup2' is not defined
删除后的 tup2如下:

3.元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代

4.元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:

L = ('spam', 'Spam', 'SPAM!')
Python 表达式 结果 描述
L[2] 'SPAM!' 读取第三个元素
L[-2] 'Spam' 反向读取;读取倒数第二个元素
L[1:] ('Spam', 'SPAM!') 截取元素

5.无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,

示例5

print "提款姬", "托儿索", "儿童劫", "娃娃鱼", "小学僧"
print "提莫队长", 1, 2, 3, 4

示例5运行结果

提款姬 托儿索 儿童劫 娃娃鱼 小学僧
提莫队长 1 2 3 4

注:记住这一条,尽量自己不要用,在一个为了能顺利看懂别人代码

6. 元组内置函数

Python元组常用内置函数:

序号 方法及描述
1 cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3 max(tuple)
返回元组中元素最大值。
4 min(tuple)
返回元组中元素最小值。
5 tuple(seq)
将列表转换为元组。

示例6

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/11 20:54
# @Author  : wwyx
# tup1 = ("python", "java", "c", "c++")
tup2 = ("德玛西亚", "诺克萨斯", "艾欧呢呀")
tup3 = ("提款姬", "托儿索", "儿童劫", "娃娃鱼", "小学僧")
var1 = cmp(tup2, tup3)
print "tup2 和 tup3 对比结果:", var1
print "tup2 的 最大值:", max(tup2)
print "tup3 的最小值:", min(tup3)

示例6 运行结果:

tup2 和 tup3 对比结果: -1
tup2 的 最大值: 诺克萨斯
tup3 的最小值: 儿童劫  

好了,元组就说到这里,下一篇字典,加油!!

python之最强王者(7)——元组(tuple)的更多相关文章

  1. Python学习笔记(4)--数据结构之元组tuple

    元组(tuple) 定义:tuple和list十分相似,但是tuple是不可变的,即不能修改tuple 初始化:(), ('a', ) , ('a', 'b')   //当只有一个元素时,需加上逗号, ...

  2. python之最强王者(5)——Nunber(数字)

    1.Python Number(数字) Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. 以下实例在变量 ...

  3. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  4. python之最强王者(11)——异常(exception)

    1.Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. ...

  5. python之最强王者(8)——字典(dictionary)

    1.Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包 ...

  6. python之最强王者(6)——列表(List)

    1.Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置 ...

  7. python之最强王者(1)——python入门简介

    1.Python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像Pe ...

  8. python学习笔记(一)元组tuple

    元组由简单的对象组构成,元组与列表相似,但是元组不能在原处修改.元组位置有序的对象集合,元组通过偏移来访问. 为什么有了列表还要元组?元组的不变性提供了某种完整性,可以确保元组在程序中不被另一个引用修 ...

  9. python之最强王者(9)——函数

    1.Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...

随机推荐

  1. 如何使用本地账户"完整"安装 SharePoint Server 2010+解决“New-SPConfigurationDatabase : 无法连接到 SharePoint_Config 的 SQL Server 的数据 库 master。此数据库可能不存在,或当前用户没有连接权限。”

    注:目前看到的解决本地账户完整安装SharePoint Server 2010的解决方案如下,但是,有但是的哦: 当我们选择了"完整"模式安装SharePointServer201 ...

  2. Spring代理模式及AOP基本术语

    一.代理模式: 静态代理.动态代理 动态代理和静态代理区别?? 解析:静态代理需要手工编写代理类,代理类引用被代理对象. 动态代理是在内存中构建的,不需要手动编写代理类 代理的目的:是为了在原有的方法 ...

  3. ABP源码分析二:ABP中配置的注册和初始化

    一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数的执行必然是完成 ...

  4. MyBatis2:config.xml文件

    前言 前一篇文章,讲了MyBatis入门,讲到了MyBatis有两个基本的配置文件,一个用来配置环境信息,一个用来写SQL语句.前者我把它命名为config.xml,config.xml的内容是: & ...

  5. Nova PhoneGap框架 第十章 开发环境

    10.1 Visual Studio + ReSharper PhoneGap程序由HTML.CSS和JS编写而成,这3种语言的编写你都可以用记事本来完成,但显然效率比较低,出错的概率也比较大.一个强 ...

  6. No result defined for action com.lk.IndexAction and result success

    意图访问一个 /es/index.action 竟然出现: [SAE ] ERROR [05-11 13:54:32] [http-80-5] com.opensymphony.xwork2.util ...

  7. Failure to find xxx in xxx was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced @ xxx

    问题: 在linux服务器上使用maven编译war时报错: 16:41:35 [FATAL] Non-resolvable parent POM for ***: Failure to find * ...

  8. 小知识:C#可选参数的一个陷阱

    一.背景: 互联网行业,为了降低程序维护.升级的部署风险,往往会将程序拆分成很多项目,编译成多个dll部署,这样发布的时候,只需要部署修改过的dll即可.   二.问题: 有一个函数,在很多个地方被使 ...

  9. Bootstrap3系列:下拉菜单

    1.引用Bootstrap 示例引用的Bootstrap版本:v3.3.7 <script src="~/Scripts/jquery-2.2.4.min.js">&l ...

  10. jQuery系列:选择器

    jQuery选择器通过标签名.属性名或内容对DOM元素进行选择,而不用担心浏览器的兼容性. 1. 基本选择器 基本选择器是jQuery中使用最频繁的选择器,由元素ID.class.元素名.多个选择符组 ...