作者 | 弗拉德

来源 | 弗拉德(公众号:fulade_me)

元组

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网 站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素, 元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。

定义元组

元组看起来跟列表很想,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。

例如,如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的:

rectangle = (200, 50)

print(rectangle[0])

print(rectangle[1])

我们首先定义了元组rectangle,为此我们使用了圆括号而不是方括号。接下来,我们分别打印该元组的各个元素。

输出是

200

50

下面来尝试修改元组rectangle中的一个元素,看看结果如何:

rectangle[0] = 250

如果我们运行一下上面的代码,就会发现Python返回类型错误消息。因为元组是不允许被修改的,因此会出现如下错误:

TypeError: 'tuple' object does not support item assignment

需要记住的是:元组是不可以被修改的,所以使用过程中不能修改元组的值。

遍历元组

像列表一样,也可以使用for循环来遍历元组中的所有值:

rectangle = (200, 50)

for r in rectangle:

print(r)

输出结果为:

200

50

给元组重新赋值

虽然我们不能修改元组内部的值,但是我们可以通过给元组重新赋值的方式来来改变元组的值:

rectangle = (200, 50)

for r in rectangle:

print(r)

rectangle = (400,100)

for r in rectangle:

print(r)

输出如下:

200

50

400

100

相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都 不变,可使用元组。

小作业

9-1 有一个菜摊,提供五种蔬菜。请想出五种简单的蔬菜,并将其存储在一个元组中。

9-2 使用一个 for 循环将该菜摊提供的五种蔬菜都打印出来。

9-3给元组变量赋值,修改其中一种蔬菜为新品种,并使用一个 for 循环将新元组的每个元素都打印出来。

9-4尝试修改其中的一个元素,核实 运行时会报错。

想查看作业答案可以去我的Githu仓库

python创建一个元组、输出元组下标为1、3、5的元素_【Python 1-9】Python手把手教程之——元组和元组的使用技巧...相关推荐

  1. python词云改颜色_使用Python创建一个与图像颜色匹配的词云

    原标题:使用Python创建一个与图像颜色匹配的词云 来自:https://www.linuxmi.com/ 我用Python造了一个词云.不过这次创建的是与图像颜色匹配的词云. 使用Python w ...

  2. python创建一个列表_Python创建一个元素都为0的列表实例

    Python创建一个元素都为0的列表实例 实现创建一个元素都为0的列表: l=10 lis=[0]*l lis 输出结果: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 以上这篇Pyt ...

  3. 【LINUX】——linux如何使用Python创建一个web服务

    问:linux如何使用Python创建一个web服务? 答:一句话,Python! 一句代码: /usr/local/bin/python -m SimpleHTTPServer 8686 > ...

  4. python创建一个空的dataframe_python 创建一个空dataframe 然后添加行数据的实例

    实例如下所示: import pandas as pd import re import math dframe1 = pd.read_excel("window regulator分析报告 ...

  5. Python 创建一个二维列表

    Python 创建一个二维列表 空二维列表 lis=[[] for i in range(5)]for i in range(5):lis.append([]) 普通二维列表 lis=[[i for ...

  6. 用python创建一个新文件_Python创建文件和追加文件内容实例

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: 代码如下: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 &g ...

  7. python创建一个文件并写入_python创建文件并写入

    python怎么以追加的方式写文件? Python 3.5 想将从1到10写入一个文件并且自动换行 现在需要一个写文件方法,将selenium的脚本运行结果写入test_result.log文件中 首 ...

  8. python建立一个简单的server_使用Python创建一个简易的Web Server

    Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\U ...

  9. 用python创建一个最简单的触发器trigger

    用python创建一个最简单的触发器trigger 上面就是自己的创建效果了,点击之后会有对话框弹出来,这就是最简单的触发器原理了. trigger就是触发器,触发器主要是通过事件进行触发而被执行的工 ...

最新文章

  1. python编程小学生学好吗-连小学生都在学的Python,究竟就业方向有哪些?
  2. Zxing二维码精简(竖屏、拉伸处理、扫描框大小和扫描线移动)
  3. mybatis转义反斜杠_Shell echo命令:输出字符串
  4. C语言蒙特卡洛,蒙特卡洛方法
  5. 服务器应用日志清理,Linux下Tomcat日志定期清理
  6. 如何移植mysql数据库_如何把本地MySql数据库移植到远程服务器上
  7. python正则匹配找到所有的浮点数_如何利用Python抓取静态网站及其内部资源
  8. 百度地图API的使用教程以及案例
  9. python3爬虫必学Xpath,快速使用lxml.etree
  10. wireshark抓取分析UDP数据包
  11. 推荐三十款最好的免费项目管理软件
  12. [ 物联网篇 ] 09 - Buildroot中构建NXP IMX8MM
  13. Dns连通性常用测试方法
  14. 电视直播Android9,电视直播高清Android 1.9免费版(移动电视直播工具)
  15. 系统重温Pandas笔记:(五)变形
  16. *p++、*(p++)、(*p)++、*++p、++*p的区别
  17. 洗地机什么牌子最好?洗地机品牌排行榜前十名
  18. 禅道和xxd(喧喧)两台主机服务器采坑记!
  19. Springboot学习笔记(二)Web开发
  20. 运用所学知识爬LOL英雄图片

热门文章

  1. java file类复制文件路径_java进阶(34)--File类、目录复制
  2. 深度学习(七)—— GAN
  3. html元素嵌套与并列,HTML的元素嵌套规则
  4. python 打印大话西游
  5. SpringCloud学习笔记:SpringCloud简介(1)
  6. 解决kettle配置文件中的中文乱码
  7. android studio gradle 多渠道打包配置
  8. cmake 编译安装方法
  9. Jetty+json-lib库抛异常的问题解决过程(java.lang.NoClassDefFoundError: net/sf/json/JSONObject)...
  10. Unit Testing in iOS