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

Python基础教程:解构

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

我们提到了字典的.items()方法会返回键值对元组的键值对元组列表:

dic = {'key': 1, 'dsb': 'alex'}
print(dic.items())

输出的内容为:

dict_items([('key', 1), ('dsb', 'alex')])

我们得到的是一个键值对列表,每个键值对以元组的形式存在。

如果现在,我们需要提取其中的每个元素,可以这样操作:

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:926207505
'''
dic = {'key': 1, 'dsb': 'alex'}
lst = list(dic.items())
print(lst[0][0])
print(lst[0][1])
print(lst[1][0])
print(lst[1][1])

虽然能够实现,但是十分繁琐,这就需要用到结构的方法。

结构的基本样式是这样的:

a, b = (10, 20)
print(a)
print(b)

可以看出,10 和 20 的值分别被赋给了 a 和 b。

这种将等号右面的数据分别赋值给等号前面的变量的方法,就是解构。

在看下面的例子:

a, b = '你好'
print(a)
print(b)

a 获取到了 你,b 获取到了 好。

也就是说,结构不仅适用于元组,也适用于字符串。

事实上,只要是可迭代的对象,都可以用来解构:

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:926207505
'''
a,b,c = [10,20,30]
print(a)
print(b)
print(c)a,b = {"key":1,"key2":2}
print(a)
print(b)

需要注意的是,字典在进行迭代操作时,只会返回键,而不会返回值。

结构时,等式左边的变量数要和右边的元素数目相等,否则就会报错。

如果想要使用少数的变量来接收更多的元素,就需要使用 * 来将最后面的多个元素进行 聚合:

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:926207505
'''
a, b, *c = (1, 2, 3, 4, 5, 6)
print(a)
print(b)
print(c)

输出的结果是:

1
2
[3, 4, 5, 6]

3、4、5 和 6 被统一 打包 给了 c,打包 后的数据以 列表 的形式储存。

返回前面字典的 .items() 方法返回值的使用上,如果用结构的方法,我们可以很容易地打印出键值对的内容来:

dic = {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}
for k, v in dic.items():print(k, v)

输出的内容为:

key1 1
key2 2
key3 3
key4 4

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

http://www.lryc.cn/news/301394.html

相关文章:

  • Java 学习和实践笔记(12)
  • 学习数据结构和算法的第9天
  • 大龙谈智能内容 - 开工大吉
  • 中科大计网学习记录笔记(十二):TCP 套接字编程
  • 落实三大阶段目标,TRON全方位打通与BTC生态互联
  • MCU中断控制
  • C语言中的可变参数
  • Leetcode-103. 二叉树的锯齿形层序遍历
  • vs code“无法与远程服务器建立连接:XHR failed.”解决办法
  • 第五节 zookeeper集群与分布式锁_2
  • Shell脚本——提取目录名和文件名
  • wps使用方法(包括:插入倒三角符号,字母上面加横线,将word中的所有英文设置为time new roman)
  • 备战蓝桥杯---图论之最小生成树
  • 爬虫-华为云空间备忘录导出到docx-selenium控制浏览器行为-python数据处理
  • 网络安全的新防线:主动进攻,预防为先
  • 基于java springboot+mybatis学生学科竞赛管理管理系统设计和实现
  • 秒懂百科,C++如此简单丨第二十一天:栈和队列
  • STM32-开发环境之STM32CubeMX
  • [晓理紫]CCF系列会议截稿时间订阅
  • 重复导航到当前位置引起的。Vue Router 提供了一种机制,阻止重复导航到相同的路由路径。
  • 如何在 Angular 中使用 Flex 布局
  • 通俗的讲解什么是机器学习之损失函数
  • 快速搭建PyTorch环境:Miniconda一步到位
  • 图灵日记之java奇妙历险记--抽象类和接口
  • 批量给元素添加进场动画;获取文本光标位置;项目国际化
  • 解决:docker创建Redis容器成功,但无法启动Redis容器、也无报错提示
  • Jlink+OpenOCD+STM32 Vscode 下载和调试环境搭建
  • 单片机在物联网中的应用
  • 16.Qt 工具栏生成
  • 【Linux内核】从0开始入门Linux Kernel源码