Python序列类型的打包和解包实例

  • Post category:Python

Python序列类型的打包和解包是一个非常常用的功能,可以实现一些很方便的操作,下面我将为大家介绍一下打包和解包的具体用法。

什么是打包和解包?

打包是指将多个变量合并成一个整体,这个整体本质上就是一个包,可以作为一个值进行传递或赋值给一个单一的变量。而解包则是将这个整体拆分成多个变量。

在 Python 中,打包和解包通常用于元组和列表数据类型,可以很方便地操作多个变量。

打包

在 Python 中,可以用逗号将多个值组合成一个元组或一个列表。

打包成元组

打包多个值成元组时,只需要将这些值用逗号隔开即可:

>>> tup = 1, 'a', True
>>> print(tup)
(1, 'a', True)
>>> print(type(tup))
<class 'tuple'>

打包成列表

将多个值打包成列表的方法也很类似:

>>> lst = [1, 'a', True]
>>> print(lst)
[1, 'a', True]
>>> print(type(lst))
<class 'list'>

解包

解包时需要使用序列类型中的每个元素,将其赋值给单独的变量。如果解包的变量个数与序列的元素个数不一致,则会抛出 ValueError 异常。

解包元组

>>> tup = 1, 'a', True
>>> x, y, z = tup
>>> print(x, y, z)
1 a True

解包列表

>>> lst = [1, 'a', True]
>>> x, y, z = lst
>>> print(x, y, z)
1 a True

示例

示例 1

name = 'Tony'
age = 25
gender = 'male'

# 将这三个变量打包成元组
person_info = name, age, gender

print(person_info)

# 将上面的 person_info 解包成三个变量
x, y, z = person_info

print(x, y, z)

输出:

('Tony', 25, 'male')
Tony 25 male

示例 2

lst = [1, 2, 3, 4, 5]

# 将列表打包成元组并赋值给一个变量
tup = tuple(lst)

print(tup)

# 将元组解包成列表并赋值给另一个变量
new_lst = list(tup)

print(new_lst)

输出:

(1, 2, 3, 4, 5)
[1, 2, 3, 4, 5]

以上就是 Python 序列类型的打包和解包的完整攻略了。