当前位置: 首页 > news >正文

修改元组元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

场景模拟:伊米咖啡馆,由于麝香猫咖啡需求量较大,库存不足,店长想把它换成拿铁咖啡。

  实例08  将麝香猫咖啡替换为拿铁咖啡

在IDLE中创建一个名称为cafe_replace.py的文件,然后在该文件中,定义一个包含6个元素的元组,内容为伊米咖啡馆里的咖啡名称,然后修改其中的第5个元素的内容为“拿铁”,代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')      # 定义元组

coffeename[4] = '拿铁'                                 # 将“麝香猫”替换为“拿铁”

print(coffeename)

运行结果如图20所示。

图20  替换麝香猫咖啡为拿铁咖啡出现异常

元组是不可变序列,所以我们不能对它的单个元素值进行修改。但是元组也不是完全不能修改。我们可以对元组进行重新赋值。例如,下面的代码是允许的:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')    # 定义元组

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','拿铁','哥伦比亚')    # 对元组进行重新赋值

print("新元组",coffeename)

执行结果如下:

新元组 ('蓝山', '卡布奇诺', '曼特宁', '摩卡', '拿铁', '哥伦比亚')

从上面的执行结果可以看出,元组coffeename的值已经改变。

另外,还可以对元组进行连接组合。例如,可以使用下面的代码实现在已经存在的元组结尾处添加一个新元组。

ukguzheng = ('蓝山','卡布奇诺','曼特宁','摩卡')

print("原元组:",ukguzheng)

ukguzheng = ukguzheng + ('麝香猫','哥伦比亚')

print("组合后:",ukguzheng)

执行结果如下:

原元组: ('蓝山', '卡布奇诺', '曼特宁', '摩卡')

组合后: ('蓝山', '卡布奇诺', '曼特宁', '摩卡', '麝香猫', '哥伦比亚')

注意:在进行元组连接时,连接的内容必须都是元组。不能将元组和字符串或者列表进行连接。例如,下面的代码就是错误的。

ukguzheng = ('蓝山','卡布奇诺','曼特宁','摩卡')

ukguzheng = ukguzheng + ['麝香猫','哥伦比亚']

常见错误:在进行元组连接时,如果要连接的元组只有一个元素时,一定不要忘记后面的逗号。例如,使用下面的代码将产生如图21所示的错误。

ukguzheng = ('蓝山','卡布奇诺','曼特宁','摩卡')

ukguzheng = ukguzheng + ('麝香猫')

图21  在进行元组连接时产生的异常

相关文章:

  • NIO的ByteBuffer和Netty的ByteBuf的性能
  • 服务器数据恢复—服务器raid常见故障表现原因解决方案
  • 测试基础06:软件产品的运行环境dev、sit、test、fat、uat、pre、pro
  • Eclipse下载安装教程(包含JDK安装)【保姆级教学】【2024.4已更新】
  • SpringSession原理简析
  • 【软考中级 软件设计师】计算机网络和安全
  • 软件测试外包公司测试流程分享,与企业内部测试人员的区别有哪些?
  • 【Torch学习笔记】
  • Python中的yield关键字,掌握生成器的精髓
  • linux下宝塔负载100%解决方法
  • 存储+调优:存储-IP-SAN
  • NumPy 随机数据分布与 Seaborn 可视化详解
  • 请叙述Vue 中使用了哪些设计模式
  • 安装和配置 FRP (Fast Reverse Proxy)
  • 第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解
  • JavaScript 如何正确处理 Unicode 编码问题!
  • SegmentFault for Android 3.0 发布
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 2017-08-04 前端日报
  • Apache Zeppelin在Apache Trafodion上的可视化
  • JS数组方法汇总
  • Laravel Mix运行时关于es2015报错解决方案
  • Laravel Telescope:优雅的应用调试工具
  • Less 日常用法
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • PHP的Ev教程三(Periodic watcher)
  • Shell编程
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端工程化(Gulp、Webpack)-webpack
  • 探索 JS 中的模块化
  • 怎样选择前端框架
  • 《天龙八部3D》Unity技术方案揭秘
  • 7行Python代码的人脸识别
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ‌移动管家手机智能控制汽车系统
  • #14vue3生成表单并跳转到外部地址的方式
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (C语言)二分查找 超详细
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (八)Spring源码解析:Spring MVC
  • (备份) esp32 GPIO
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)详解PHP处理密码的几种方式
  • (转)原始图像数据和PDF中的图像数据
  • (自用)仿写程序
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离