将序列分解为单独的变量

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 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

.NET 4 System.Threading.Barrier 类

在Visual Studio 2010 and .NET Framework 4 Training Kit中有个System.Threading.Barrier...

2039
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3145
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏魂祭心

原 canvas绘制clock

4094
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2536
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5476
来自专栏五毛程序员

五毛的cocos2d-x学习笔记05-场景与场景动画,动作

1736
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2645
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4064
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717

扫码关注云+社区