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

【Python】Tuple (元组)

一.介绍

元组与列表类似,但是元组中的元素是不可变的。元组是一种静态数组,不支持动态扩展,其存储方式相较于列表更加紧凑,因此在同等条件下占用的内存更少。

创建时使用 ( ) 括起来,不用和列表弄混(列表使用 [ ] ):

tup = (1,2,3,4,5)

可以在以下情况下使用元组:

1)在函数中作为参数使用;
2)函数返回值包含多个项的时候使用;
3)遍历字典的键值对的时候使用;
4)作为字符串格式占位符使用。

二.Pythonic技巧

1.使用namedtuple编写更清晰的元组

namedtuple 用于创建带字段名的元组子类,不仅可以使用索引来访问元素,还可以使用字段名来访问元素。这样使用,比元组更可读,比字典更高效。

StudentScore = namedtuple("StudentScore",["name", "math", "english", "chinese"])scores = [StudentScore("小明", 95, 88, 92),StudentScore("小红", 90, 93, 89),StudentScore("小刚", 85, 87, 94)
]for s in scores:total = s.math + s.english + s.chineseprint(f"{s.name} 总分:{total},平均分:{total/3:.1f}")

2.使用元组解包数据

使用 * 进行解包

group1 = ('a','b')
group2 = ('c','d')
new_group = (*group1, *group2, 'e', 'f')
print(new_group)
# Output: ('a', 'b', 'c', 'd', 'e', 'f')

3.占位符_

定义一个元组:

user  = ("KaKa",24,"China","Beijing")

如果说我们只想取前面的两个数据,可以使用占位符_来占后面的位置:

(name,age,_,_) = user

如果说后面的字段比较多,可以是*_直接表示所有后面的位置:

(name,age,*_) = user

4.多值返回

对于Java来说,方法每次只能返回一个值,如果想要返回多个类型不同的值,只能封装成一个新的对象。而Python可以使用元组进行多值返回。

def get_data_info(data):average = float(sum(data)) / len(data)sum_value = sum(data)max_value = max(data)min_value = min(data)return (average, sum_value, max_value, min_value)list_of_data = [1,2,3,4,5]
print(get_data_info(list_of_data))
http://www.dtcms.com/a/586413.html

相关文章:

  • 小吃培训网站源码广电网络公司优秀营销案例
  • 企业电子商务网站建设设计目的暴雪游戏有哪些
  • 仓颉初使用,资料查找及换进安装使用指导
  • 事务的相关介绍
  • 安徽省工程建设信息网站投资公司设立条件
  • Spring 框架核心技术全解析
  • C# OpenCVSharp使用 读光-票证检测矫正模型
  • 更换空间对网站的影响开发app需要什么设备
  • 佛山网站制作公司沈阳网页设计招聘
  • 南宁比优建站wordpress管理工具栏
  • 企业如何建设自己的网站网站主页跳转index
  • 网站利用百度离线地图淘宝电脑版网页
  • 工业控制网关物联网解决方案软硬件定制:我是你的研发部
  • 第2章 传感器技术与数据处理
  • 【开题答辩全过程】以 房地产销售管理系统为例,包含答辩的问题和答案
  • 建设项目环评验收网站建设行业门户网站需要什么条件
  • maven常用的命令
  • 动态商务网站开发与管理合肥网站建设工作室
  • 设计的网站都有哪些内容新榜数据平台
  • 扶绥县住房和城乡建设局网站品牌网站建设精湛磐石网络
  • MCU 的SPI 关键部分配置注意事项(SPI多机通信时)
  • 付网站建设费如果做账wordpress修改版面
  • 网站建设的实训心得 500字新城建站
  • Linux网络-Socket 编程 UDP
  • Rust编程进阶 - 如何基于生成器设计一套协程(Coroutine)的方案, 从而方便编写大规模高性能异步程序
  • LangChain 中 ChatPromptTemplate 的几种使用方式
  • 怎么创建企业网站同源大厦 网站建设
  • 3网合一网站天眼企业查询系统官网
  • 网站建设人工智能开发怎样建个人网页免费
  • 1.2.3AOP的底层原理