python实现同时给多个变量赋值的方法 Simultaneous Assignments

摘要:
Python的多重赋值原则是元组封装和元组的序列解包这是一个元组封装的示例,其中多个值被放入一个元组中。调用等号的右侧可以是任何线性序列。序列左侧的变量数量必须与序列的元素数量相同。多值变量交换的一个例子:a,b=b,a是将(b,a)打包到原始祖先中,然后将序列分配给(a,b)。

Simultaneous Assignments

x,y=y,x

这个赋值的执行流程是什么?

python的多元赋值原理是tuple的元组封装 (tuple packing) 和 序列拆封(sequence unpacking)。

t = 12345, 54321, 'hello!'

这是元组封装 (tuple packing) 的例子,将多个值放进tuple里。

x, y, z = t

元组封装 (tuple packing) 的逆操作就是序列拆封(sequence unpacking)。这个调用等号右边可以是任何线性序列,序列拆封要求左侧的变量数目与序列的元素个数相同。

多元赋值变量交换的例子:

a, b = b, a

就是将(b, a)打包成元祖,再序列的分给(a, b)这个序列。

 

官方文档:

http://www.pythondoc.com/pythontutorial3/datastructures.html#tut-tuples

Python tutorial 2.7.13 2.7.13 documentation

 
REF
 
http://www.pythondoc.com/pythontutorial27/datastructures.html#tut-tuples
http://www.pythondoc.com/pythontutorial3/datastructures.html#tut-tuples
https://www.zhihu.com/question/46505057/answer/101584055
 

免责声明:文章转载自《python实现同时给多个变量赋值的方法 Simultaneous Assignments》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python操作 RabbitMQ、Redis、Memcache、SQLAlchemyshow slave status中的log_file / log_pos下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Django知识总结(一)

壹 ● 有关http协议 一 ● 全称 超文本传输协议(HyperText Transfer Protocol) 二 ● 协议 双方遵循的规范 http协议是属于应用层的协议(还有ftp, smtp等), 即浏览器请求消息和服务器响应消息的一系列规则 三 ● http协议的特性 http是无状态、无连接的协议(stateless, c...

java 运行“HelloWorld”错误:找不到或无法加载主类 原因: java.lang.ClassNotFoundException 的方法

环境变量有问题,配置如下   点击下面的“环境变量”选项 接下来就是具体的配置过程: 点击“系统变量”下面的”新建“选项 在”变量名“处填上”Java_Home“ ”变量值“为JDK安装路径,笔者的路径是”D:Program FilesJavajdk1.8.0_91“ 点击”确定“选项 在”系统变量“中找到”Path“ 选中”Path“点击”编辑“...

调整的R方_如何选择回归模型

 python风控建模实战lendingClub(博主录制,catboost,lightgbm建模,2K超清分辨率) https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398149     1.选择最简单模型  ...

VS调试技巧与快捷键&&VS快捷键

VS调试技巧与调试快捷键   1、添加断点或取消断点:F9(或者点击代码行最左边的灰色行)     2、调试:F10逐过程(不进入函数内部,直接获取函数运行结果)         F11逐语句(会进入函数),如果想跳出函数按shift+F11,如果对某个函数的使用定义不清楚,按F12转到定义。   3、按F5执行,如果调试中多个断点,按F5,执行到下一个断...

Python实现Windows CMD命令行彩色输出

#! /usr/bin/env python #coding=utf-8   importctypes,sys   STD_INPUT_HANDLE =-10 STD_OUTPUT_HANDLE =-11 STD_ERROR_HANDLE =-12   # 字体颜色定义 ,关键在于颜色编码,由2位十六进制组成,分别取0~f,前一位指的是背景...

Python——XPath提取某个标签下所有文本

/text()获取指定标签下的文本内容,//text()获取指定标签下的文本内容,包括子标签下的文本内容,比较简单的是利用字符串相加: room_infos = li.xpath('.//a[@class="resblock-room"]/span//text()').extract() room_info = '' for i in room_info...