python实用技巧一解压序列赋值

python有许多特性,可以让代码更加简洁,今天来写一写,解压序列赋值,希望对初学PYTHON的小伙伴们有所帮助!
在此之前我们先看一看python的其他赋值方法。

a = 1
b = 2
a, b = 3, 4
a, b = b, a
a = 10 if b == 3 else 5
#放飞自我的各种赋值方式

下面进入正题,解压序列赋值操作:

datas = [ '李白', 180, 100, (2012, 12, 21) ]
name, height, weight, dates = datas #结果大家应该都知道了

#不过你还可以这样
name, height, weight, (year, month, day) = datas #结果也很明显
#字符串也是序列的一种啊所以也可以解压
s = 'Hello'
a, b, c, d, e = s 
#我们还可以只解压一部分其他的不要
_, a, b, _, c = s #你必须保证占位的变量名没在其他地方使用到

需要注意的是,你的变量数量必须与序列的数量相等,否则会报错,但是如果我不知道序列的元素数量就不能解压了嘛,当然不是。

datas = [ '李白', 180, 100, (2012, 12, 21) ]
#加入我不知道datas序列一共有多少元素,但我知道第一个是名字,你就可以这样
name, *other = datas #这样第一个元素就会被赋值,其他元素将成为一个列表赋值给other
name, *other ,dates = datas

提问:那如果只有一个变量的序列a, *b = [1,]会发生什么情况呢?这就需要你去试试啦!!
再问: 如果是a, *b = ‘M’ 会怎么样呢?
你会发现一件事情,*b的结果b总是返回一个列表。

#语句里也可以实用解压赋值操作
#例如你有一个二元列表,datas
for i, *k in datas:
	'''此处省略'''

其实很多看似简单的语法,往往能很大程度上简化我们的代码,你觉得你记住了,可是往往用的时候想不起来,所以你需要的是在能用到这种方法的时候,想起他。以及这种方法的限制,和优点,不要觉得简单就一掠而过,弄懂弄透才是王道。没有一种语言能通吃天下,但是你必须透彻的去理解某一门语言,什么都想学的结果就是样样通,样样松,毫无优势可言。如果你看到这里,并且还亲自的尝试了,那么恭喜你,你的耐心值得称赞。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~白+黑

真乃人中龙凤,必成大器,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值