Python变量用法——变量解包

简介: Python变量用法——变量解包

变量解包 变量解包(unpacking)是Python里的一种特殊赋值操作,允许我们把一个可迭代对象(比如列表)的所有成员,一次性赋值给多个变量:

>>> usernames = ['bruce_liu', 'raymond']
>>> author, reader = usernames
>>> author
Out[4]: 'bruce_liu'

⚠️注意:左侧变量的个数必须和待展开的列表长度相等,否则会报错。

假如在赋值语句左侧添加小括号(…),甚至可以一次展开多层嵌套数据:

>>> attrs = [1, ['bruce_liu', 100]]
>>> user_id, (username, score) = attrs
>>> user_id
Out[7]: 1
>>> username
Out[8]: 'bruce_liu'

除了上面的普通解包外,Python还支持更灵活的动态解包语法。只要用星号表达式(*variables)作为变量名, 它便会贪婪地捕获多个值对象,并将捕获到的内容作为列表赋值给variables。

比如,下面data列表里的数据分为三段:头用户,尾为分数,中间的都是水果名称。通过把*fruits设置为中间的解包变量,我们就能一次性解包所有变量—fruits会捕获data去头去尾后的所有成员:

>>> data = ['bruce_liu', 'apple', 'orange', 'banane', 100]
>>> username, *fruits, score = data
>>> username
Out[10]: 'bruce_liu'
>>> fruits
Out[11]: ['apple', 'orange', 'banane']
>>> score
Out[12]: 100

和常规的切片赋值语句比起来,动态解包语法要直观许多:

# 动态解包
>>> username, *fruits, score = data
# 切片赋值
>>> username, fruits, score = data[0], data[1], data[-1]
# 两种变量赋值方式完全等价

上面的变量解包操作也可以在任何循环语句里使用:

>>> for username, score in [('bruce_liu', 100), ('raymond', 60)]:
...        print(username)
... 
bruce_liu
raymond
相关文章
|
12天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
24 4
|
30天前
|
缓存 测试技术 开发者
深入理解Python装饰器:用法与实现
【10月更文挑战第7天】深入理解Python装饰器:用法与实现
15 1
|
30天前
|
传感器 大数据 数据处理
深入理解Python中的生成器:用法及应用场景
【10月更文挑战第7天】深入理解Python中的生成器:用法及应用场景
35 1
|
29天前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
WK
|
30天前
|
Python
Python变量命名
在Python编程中,变量命名对代码的可读性和维护性至关重要。遵循PEP 8风格指南,变量名应使用小写字母和下划线分隔单词,保持简洁明了、描述性强,避免使用单字母、Python关键字和内置函数名,采用有意义的缩写,使用英文命名,保持命名风格一致,避免魔法数字,考虑上下文。正确示例:`user_name`、`order_quantity`;不正确示例:`n`、`q`。
WK
17 0
|
30天前
|
Python
深入了解Python中星号变量的特殊用法
深入了解Python中星号变量的特殊用法
16 0
|
1月前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
67 0
|
1月前
|
SQL 关系型数据库 MySQL
Python中Pymysql库的常见用法和代码示例
`pymysql` 是一个用于连接 MySQL 数据库的 Python 库,支持 SQL 查询的执行和结果处理。通过 `pip install pymysql` 安装后,可使用 `connect()` 方法建立连接,`cursor()` 创建游标执行查询,包括数据的增删改查,并通过 `commit()` 和 `rollback()` 管理事务,最后需关闭游标和连接以释放资源。
61 0
|
1月前
|
计算机视觉 Python
Python中Pillow库的常见用法和代码示例
Pillow是Python中广泛使用的图像处理库,支持丰富的图像操作功能,包括但不限于打开、保存、缩放、裁剪、旋转、调色等。本文通过一系列示例介绍Pillow的基本用法,涵盖图像的加载与显示、尺寸调整、裁剪与旋转、亮度调整、格式转换、滤镜应用、图像合成及像素级操作等。首先需通过`pip install pillow`安装库,随后可通过导入`PIL.Image`等模块开始图像处理任务。无论是初学者还是进阶用户,都能从Pillow提供的强大功能中获益。
27 0
|
1月前
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
24 0
下一篇
无影云桌面