将序列分解为单独的变量

python中,任何序列或可迭代的对象都可以通过一个简单的赋值操作来分解为单独的变量。前提是要求变量的总数和结构要与序列相吻合

#_*_coding:utf8_*_
p = (4, 5)
x, y = p
print(x)
# 4
print(y)
# 5

data = ['GuoJing', 30, ('杨过', '小龙女')]
name, age, xialv = data
print(name)
# GuoJing
print(xialv)
# ('杨过', '小龙女')

name, age, (yangguo, xiaolonglv) = data
print(yangguo)
# 杨过
print(xiaolonglv)
# 小龙女

如果元素的数量不匹配,会报错

lover = ('杨过', '小龙女')
yangguo, xiaolonglv, yinzhiping = lover

# 报错:ValueError: need more than 2 values to unpack

丢弃不要的变量

在将序列分解成变量时,有些值我们并不需要,可以选一个用不到的变量名作为要丢弃的值的名称(一般选用 _ 作为变量名)

#_*_coding:utf8_*_
data = ['杨过', '尹志平', '小龙女']
husband, _, wife = data
print(husband)
# 杨过
print(wife)
# 小龙女

源码下载

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

HUST 1588 辗转数对

1588 - 辗转数对 时间限制:1秒 内存限制:128兆 155 次提交 27 次通过 题目描述假设当前有一个数对(a, b),我们可以通过一步将这个数对...

3309
来自专栏极客编程

Apache spark 的一些浅见。

分布并行计算和几个人一起搬砖的意思是一致的,一个资源密集型的任务(搬砖或计算),需要 一组资源(小伙伴或计算节点),并行地完成:

982
来自专栏编程理解

排序算法(六):希尔排序

希尔排序是对插入排序的一种改进,也叫递减增量排序,算法过程中通过对增量值的递减调整,形成每一个增量值对应的一个或多个待排序分组,分别对分组执行插入排序,最后调整...

1091
来自专栏刘琰的专栏

Redis 容量评估模型

业务侧申请redis服务器资源时,需要事先对redis容量做一个大致评估,因此提出一个较精确的redis容量评估模型就显得很有必要。

1.2K0
来自专栏个人分享

MapReduce格式与类型

  MapReduce是一个简单的数据处理模型,map与reduce的输入和输出类型都为key-value形式的键值对。

751
来自专栏一英里广度一英寸深度的学习

三路快排算法-求中位数问题(4)

step1排列数组的时间复杂度是O(N),空间复杂度是O(1) step2 递归调用的复杂度O(logN)

912
来自专栏Java Edge

八大排序的Java实现概述1. 插入排序—直接插入排序(Straight Insertion Sort)2. 插入排序—希尔排序(Shell`s Sort)4. 选择排序—堆排序(Heap Sort)

3176
来自专栏我是东东强

常见算法之排序

各类排序算法,不仅是算法基本功,也是面试中永恒的考题,关于每种算法思想、实现(递归与非递归)以及时空复杂度分析是必须牢牢把握的送分题。本文先将排序算法按不同标准...

852
来自专栏Golang语言社区

Top K算法详细解析—百度面试

问题描述: 这是在网上找到的一道百度的面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千...

4107
来自专栏决胜机器学习

PHP数据结构(十八) ——直接插入排序

PHP数据结构(十八)——直接插入排序 (原创内容,转载请注明来源,谢谢) 一、概述 插入排序分为直接插入排序、其他插入排序、希尔排序。其他插入排序又分为折半...

32310

扫码关注云+社区