Python3序列赋值、序列解包详解(上)
###概述
赋值是各个编程语言通用的概念,而在Python有多种赋值方法以供选择,比如元组、列表、序列赋值运算等,甚至还有扩展的序列解包赋值方法完成更加复杂的赋值运算。
一些基本赋值运算
下面示例介绍了元组赋值运算、列表赋值运算及任意对象的序列赋值的简单使用
# 元组赋值运算
one, two, three = (1, 2, 3)
print(one, two, three)
# 列表赋值运算
one, two, three = [1, 2, 3]
print(one, two, three)one = 1
two = 2
# 简单序列赋值赋值
A, B = one, two
print(A, B)# 将元组中的值赋值给列表
[a, b, c] = ('A', 'B', 'C')
print([a, b, c])
示例结果:
1 2 3
1 2 3
1 2
['A', 'B', 'C']
从示例我们看到,右侧实际上支持任意可迭代的对象,但前提是右侧对象内的元素个数需要与左侧对应相等,比如将右侧元组的值赋值左侧的列表中。
高级序列赋值元素
前面我们提到序列赋值的元素条件之一就是等号两边的元素数量需要相等,但是在Python3中我们可以利用更加实用的扩展解包的方法,当然我们也可以利用其它的方式解决,比如利用切片解决一些元素不相等的情形。
S = 'STR'
a, b, c = S
print(a, b, c)# 利用切片解决两边元素不相等的情形
S = 'PYTHON'
a, b, c = S[0], S[1], S[2:]
print(a, b, c)# 嵌套赋值
(a, b), c = S[:2], S[2:]
print((a, b), c)
示例结果:
('S', 'T', 'R')
('P', 'Y', 'THON')
(('P', 'Y'), 'THON')
可以看到我们甚至可以利用切片进行嵌套赋值,完成更加复杂赋值运算。
原文:https://blog.csdn.net/Karven_/article/details/90146246
转载于:https://www.cnblogs.com/qbdj/p/10882164.html
Python3序列赋值、序列解包详解(上)相关推荐
- Python * ** 打包解包详解
里边出现的英文都来自于python官网的开发者指南 本文主要就是介绍*和**对此展开详细介绍. Unpacking is proposed to be allowed inside tuple, li ...
- Python * ** 打包解包 详解
里边出现的英文都来自于python官网的开发者指南1 本文主要就是介绍*和**对此展开详细介绍. Unpacking is proposed to be allowed inside tuple, l ...
- TLV封包与解包详解
何谓TLV 所谓通讯协议就是指通信双方对数据传送控制的一种约定.约定中包括对数据格式,同步方式,传送速度,传送步骤,纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守,倘若一方不遵守,便 ...
- mac python3.8上怎么安装pygame 第三方库_Python3.8安装Pygame Python3.8安装Pygame教程步骤详解...
想了解Python3.8安装Pygame教程步骤详解的相关内容吗,孤傲小二~阿沐在本文为您仔细讲解Python3.8安装Pygame的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Pyth ...
- Python零基础速成班-第14讲-Python处理Excel和Word,使用openpyxl和docx包详解,图表入门
Python零基础速成班-第14讲-Python处理Excel和Word,使用openpyxl和docx包详解,图表入门 学习目标 Python处理Excel(使用openpyxl包).图表入门\ P ...
- android jar 包 意见反馈功能,android重点jar包详解.docx
android重点jar包详解 深入理解View(一):从setContentView谈起 我们都知道?MVC,在Android中,这个?V?即指View,那我们今天就来探探View的究竟.在onCr ...
- java axis2 jar_Java axis2.jar包详解及缺少jar包错误分析
Java axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...
- 电脑安装python步骤-python3.8下载及安装步骤详解
1.操作系统:Windows7 64bit executable installer 2.安装步骤: 双击安装文件python-3.8.0-amd64.exe 勾选下方"Add Python ...
- python3爬虫实例-python3.7简单的爬虫实例详解
python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...
- python爬虫实例-python3.7简单的爬虫实例详解
python3.7简单的爬虫,具体代码如下所示: #https://www.runoob.com/w3cnote/python-spider-intro.html #Python 爬虫介绍 impor ...
最新文章
- Python:numpy生成正态分布的平均数
- mysql2013年8月怎么打出来_2020年8月31日,上周完成了一个查询接口来检查mysql的数据,速度很慢,20200831,从,MySQL,中查,贼...
- dfmea文件_PFMEA执行之步骤七:结果文件化 vs 高层管理者的承诺
- js如何生成一个对象,并转化为json字符串
- PCA和白化练习之处理图像
- 基于MINA框架快速开发网络应用程序
- Kubuntu中thunderbird最小化到任务栏
- 计算机二级web题目(7.4)--综合应用题1
- .net 获取xml里面的值_Java-XML技术
- Linux学习总结(75)—— Linux history 命令实用技巧
- 错误提示:java.lang.IllegalArgumentException解决方法
- linux中swap的权限,有关 Linux Swap
- table行的折叠和展开
- 信息安全框架——三个方面
- 盘点2022年nft艺术品交易平台排行榜
- 三角形接法永磁同步电机的FOC+SVPWM控制
- 【计算方法数值分析】复化梯形公式、复化辛普森公式和龙贝格数值积分
- vue 前端实现对pdf添加批注
- python海龟怎么隐藏_Turtle库学习--海龟可见性与外观
- 漏洞分析Heartbleed Attack Lab(自用、记录)
热门文章
- ModBus RTU协议CRC校验方式最简实现
- sql 2005性能调优
- Java游戏开发框架LGame-0.2.6发布(含PC及Android版)
- 李彦宏被泼水,是“多数人的暴力”还是“群众的宣泄”
- 【限时免费】大千万象,“爬”你所需!老司机教你利用爬虫建造一座图书馆...
- 如何成为一名卓越的数据科学家 ——七剑之一:问题定义
- dnsmasq安装配置
- Docker-compose部署gitlab中文版
- 百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite...
- 现实世界的Windows Azure: 采访LexisNexis的Marc Slovak 和 Manish Bhargava