元组可以被看成是不能改变的列表。列表是动态的,你可以增添,插入,删除,更改列表元素。有时我们需要这样的操作,但是有些时候我们需要保证有些数据是不能被用户或程序更改的。这就是元组的作用。

准确的说,列表是可变对象,元组是不可变对象。

定义和访问元组

元组的定义和列表相似,只是列表是用方括号定义,元组是用圆括号定义的。一旦定义好元组,可以像访问列表那样访问元组元素,并且可以使用 for 循环。

colors  =  ('red',  'green',  'blue')
print("The first color is: " + colors[0]) print("\nThe available colors are:")
for color in colors:
print("- " + color)

如果尝试向元组中添加元素,会得到一个错误。

colors = ('red', 'green', 'blue')
colors.append('purple')

同样的,其他操作也会导致错误。一旦定义好一个元组,它就不会被改变。

元组生成字符串

我们知道混合英文字符和存储字符串的变量是相当有用的,如下所示:

animal = 'dog'
print("I have a " + animal + ".")

当我们想要生成一系列的语句的时候,这种方式是不错的生成方式。如下所示:

animals = ['dog', 'cat', 'bear']
for animal in animals:
print("I have a " + animal + ".") 

我们用加号来实现,这种方法是符合直觉的,但不够简洁。使用占位符就能使代码更简洁。

Python 通常会忽略掉我们放进字符串的字符,但是它会对少许字符格外注意。例如 "\t" 和 "\n"。Python 同样也会注意到 "%s" 和 "%d"。它们被称为占位符。当 Python 看到了 "%s" 占位符,它就会找到 % 后的第一个参数填充进占位符。如下所示:

animal = 'dog'
print("I have a %s." % animal) 

这是一种相当简洁的方法来生成包含变量的字符串。我们将句子写进一条字符串中,然后告诉 Python 我们需要什么值嵌入到字符串的指定位置中。

这种方法被称为格式化字符串(string formatting)。如果你有不止一个数据要填充进字符串中,你需要将参数放进元组中。如下所示:

animals = ['dog', 'cat', 'bear']
print("I have a %s, a %s, and a %s." % (animals[0], animals[1], animals[2]))

包含数字的格式化字符串

如果你想打印一个包含数字的字符串,如下所示:

number = 23
print("My favorite number is " + number)

上述代码会报错。Python 不知道你指的是值为23还是作为字符串的“23”。如果你想让 Python 以字符串的形式对待这个变量,我们需要用到 str() 函数将数字转为字符串。如下所示:

number = 23
print("My favorite number is " + str(number) + ".")

如果要用格式化的字符串,"%d" 会帮助到我们。如下所示:

number = 23
print("My favorite number is %d." % number) 

同理,想嵌入多个数字,只需要将参数放进元组里。如下所示:

numbers = [7, 23, 42]
print("My favorite numbers are %d, %d, and %d." % (numbers[0], numbers[1], numbers[2]))

也可以混合使用字 符串和数字占位符。不再赘述。在 Python 3 中还有很多复杂的方法做字符串格式化。

本文转载于https://www.py.cn/jishu/jichu/10536.html

python元组数据类型讲解的更多相关文章

  1. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  2. python基本数据类型之列表和元组

    python基本数据类型之列表与元组 python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且同一个 ...

  3. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  4. Python的数据类型3元组,集合和字典

    首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面元组又比不上列表 定义一个元组,你可以不用加‘ [ ] ’,你只需用逗号隔开即可 例如 1 2 3 4 5 6 7 ...

  5. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  6. Python - 基本数据类型及其常用的方法之元组

    元组 特点:一级元素无法被修改,且不能被增加或者删除. 基本操作: tu = (11, 22, ["aiden", 33, ("qwe", 11)], 77) ...

  7. python基础数据类型--元组(tuple)

    python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...

  8. python初识数据类型(字典、集合、元组、布尔)与运算符

    目录 python数据类型(dict.tuple.set.bool) 字典 集合 元组 布尔值 用户交互与输出 获取用户输入 输出信息 格式化输出 基本运算符 算术运算符 比较运算符 逻辑运算符 赋值 ...

  9. Python的数据类型和运算

    一.Python数据类型 变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,在Python中,主要有以下几种数据类型: 整形(int) 在计算机中,整数的位数其实是有范围的,并没 ...

随机推荐

  1. MFC消息反射机制

    消息反射机制要解决什么问题呢? 消息反射机制主要是为了控件而实现的.每当控件需要某些资讯(比如,绘制自身背景的画刷,显示字体的颜色等等)时,都会频繁地向其父窗口发送通告消息(notification ...

  2. 转载一篇比较详细的讲解html,css的一篇文章,很长

      转载自这里,转载请注明出处. DIV+CSS系统学习笔记回顾   第一部分 HTML 第一章 职业规划和前景 职业方向规划定位: web前端开发工程师 web网站架构师 自己创业 转岗管理或其他 ...

  3. Teamviewer14重置试用期版

    网上的破解版基本上全部被封禁了,只能通过修改ID来无限试用这个方法了 有些个人使用频繁的用户,经常提示商业环境 此teamviewer14重置试用期,可以一直使用 有条件的还是建议购买付费版. 到期点 ...

  4. 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)

    ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...

  5. php反序列化笔记

    普通的魔法方法 public,private,protected属性序列化后的不同 绕过wakeup session反序列化 phar反序列化 1.普通的魔法方法 __construct() 创建一个 ...

  6. How to install WireShark on Linux

    https://linuxtechlab.com/install-wireshark-linux-centosubuntu/

  7. ArcGIS中国工具3.0正式发布

    ArcGIS中国工具3.0正式发布,新功能有 1.  支持面积分割(见4.6),见https://weibo.com/tv/v/HsM2ksYY3?fid=1034:4368578107884427 ...

  8. qcow2镜像制作

    windows 1.准备windows镜像.驱动镜像. 驱动下载地址: https://docs.fedoraproject.org/en-US/quick-docs/creating-windows ...

  9. SSD: Single Shot MultiBox Detector论文阅读摘要

    论文链接: https://arxiv.org/pdf/1512.02325.pdf 代码下载: https://github.com/weiliu89/caffe/tree/ssd Abstract ...

  10. React Native布局详解

    Flexbox 布局 Flex有两个属性:Container  和 Item flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.采用fle ...