0
点赞
收藏
分享

微信扫一扫

【Python小知识】:什么是序列解包

一点读书 2022-04-02 阅读 51

目录

✨✔️🌱🌳🔋 💡📗📘📙


1️⃣序列

什么是序列?


2️⃣序列封包

什么是序列封包?

实例如下:

>>>a = 'a','b', 'c'
>>>a
   ('a', 'b', 'c')
>>>type(a)
   <class 'tuple'>

3️⃣序列解包

什么是序列解包?


4️⃣序列解包的好处

  1. 简化代码
  2. 使程序更加简洁
  3. 可读性高
  4. 提高效率
  5. 方便程序员的开发


备注:

如果对可迭代对象不够理解,可以看看下面文章:

  • 【python知识点】你知道Iterable对象吗?什么是迭代器?
  • 【python小知识】:什么是生成器

5️⃣序列解包的详解

🟥方式一

>>>a,b,c = 1,2,3
>>>a
   1
>>>b
   2
>>>c
   3
  • 需要注意的是,变量和值的个数必须对应起来,不然就会抛出ValueError异常。

🟨方式二

>>>a, b = 20, 56
>>>print(a,b)
   20 56
>>>b, a = a, b
>>>print(a,b)
   56 20

🟩方式三

>>>name = ['张三', '李四', '王五']
>>>score = [95,86,92]
>>>for n, s in zip(name,score):
       print(n,s)
...
   张三 95
   李四 86
   王五 92

🟦方式四

>>>m
   [1, 2, 3, 4, 5]
>>>m[1 : 4] = 20, 30, 40
>>>m
   [1, 20, 30, 40, 5]

🟪方式五

例子1:

>>>n = ['a', 'b', 'c']
>>>a,b,c = n
>>>a
   'a'
>>>b
   'b'
>>>c
   'c'

例子2:

>>>a,b,c = range(1,4)
>>>print(a,b,c)
   1 2 3

例子3:

>>>m = enumerate(['one', 'two', 'three'])
>>>a,b,c = m
>>>print(a,b,c)
   (0, 'one') (1, 'two') (2, 'three')

例子4:

>>>m = zip(['one','two', 'three'], [1,2,3])
>>>a,b,c = m
>>>print(a,b,c)
   ('one', 1) ('two', 2) ('three', 3)

6️⃣序列解包中的特殊符号

例子1:

>>>a,b,*c = 1,2,1,2
>>>a
   1
>>>b
   2
>>>c
   [1, 2]

例子2:

>>>a,*b, c = 1,1,2,2
>>>a
   1
>>>b
   [1, 2]
>>>c
   2

例子3:

>>>*a,b,c = 1,2,1,2
>>>a
   [1, 2]
>>>b
   1
>>>c
   2

例子4:

>>>a,b,*c = 1,2
>>>a
   1
>>>b
   2
>>>c
   []

例子5:

>>>a,*b, c = 1,2
>>>a
   1
>>>b
   []
>>>c
   2

例子6:

>>>*a,b,c = 1,2
>>>a
   []
>>>b
   1
>>>c
   2

好了,关于序列解包的小知识就看到这。

希望文章可以对你有所帮助!

举报

相关推荐

0 条评论