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://www.jianshu.com/p/36d3f2b92e57

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值