元组|学习笔记

简介: 快速学习 元组

开发者学堂课程【Python 语言基础 2:列表、元组、字典、集合:元组】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/600/detail/8712


元组


l 元组tuple

元组是一个不可变的序列

它的操作的方式基本上和列表是一致的

所以在操作元组时,就可以把元组当成是一个不可变的列表

一般当我们希望数据不改变时,就使用元组,其余情况都使用列表.

 

l 创建元组

使用( )来创建元组

my_tuple = ( )    #创建了一个空元组

print(my_tuple )

效果如下:

再改为 print(my_tuple, type(my_tuple) )     #class ‘ tuple ’

my_tuple = (1, 2, 3, 4, 5)     #创建了一个5个元素的元组

print(my_tuple[ ])

再改为 print(my_tuple[ 3 ])

注意不能写 my_tuple[3] = 10, TypeError: 'tuple' object does not support item assignment

元组是不可变对象,不能尝试为元组中的元素重新赋值

当元组不是空元组时,括号可以省略

my_tuple = 10,20, 30,40

print(my_tuple, type(my_tuple))

如果元组不是空元组,其中至少要有一个,

my_tuple = 40

所以改为 my_tuple = 40,

 

l 特殊用法:元组的解包〔解构)

解包指就是将元组当中每一个元素都赋值给一个变量

my_tuple =10 , 20 , 30 , 40

print(my_tuple)

改为 my_tuple =10 , 20 , 30 , 40

a, b, c, d = my_tuple

print(“a = ”, a)

print(“b = ”, b)

print(“c = ”, c)

print(“d = ”, d)

比如输入

a = 100

b= 100

print(a, b)

交互 a 和 b 的值,这时我们就可以利用元组的解包

a , b = b , a

print(a, b)

另一种用法:

比如输入:

my_tuple = 10 , 20 , 30 , 40

a , b = my_tuple

print(a , b)

改为 a , b , c , d = my_tuple

如果 100 变量只需要前 十 个,不需要全写,只需要 a , b , *c= my_tuple

那么 c 是什么效果呢?先打印下 c,print(‘ c = ’ , c)

所以注意:在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致

也可以在变量前添加一个 *,这样变量将会获取元组中所有剩余的元素

也可以输成:a , *b , c= my_tuple

print( ‘a = ’ , a)

print( ‘b = ’ , b)

print( ‘c = ’ , c)

*a , b , c= my_tuple

print( ‘a = ’ , a)

print( ‘b = ’ , b)

print( ‘c = ’ , c)

但是不能同时出现两个或以上的 * 变量,比如

*a , *b , c= my_tuple   SyntaxError: two starred expressions in assignment

此外,不光是元组可解包,列表还有字符串都可以进行解包

a , b , *c = [1, 2, 3, 4, 5, 6, 7]

a , b , *c = ‘hello world’

相关文章
|
7天前
|
云安全 监控 安全
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1335 8
|
6天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
420 10
|
18天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1232 43
|
18天前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
1072 85
大厂CIO独家分享:AI如何重塑开发者未来十年
|
14天前
|
存储 自然语言处理 测试技术
一行代码,让 Elasticsearch 集群瞬间雪崩——5000W 数据压测下的性能避坑全攻略
本文深入剖析 Elasticsearch 中模糊查询的三大陷阱及性能优化方案。通过5000 万级数据量下做了高压测试,用真实数据复刻事故现场,助力开发者规避“查询雪崩”,为您的业务保驾护航。
624 32

热门文章

最新文章