📜  使用星号解包列表 - Python (1)

📅  最后修改于: 2023-12-03 15:06:56.938000             🧑  作者: Mango

使用星号解包列表 - Python

在 Python 中,我们有时需要将列表中的元素解包到单独的变量中。这时就可以使用星号(*)来解包列表。下面是一些使用星号解包列表的例子:

解包固定长度列表

当我们已知列表包含的元素个数时,可以使用星号来解包列表。例如,我们有一个长度为 3 的固定列表,代码如下:

lst = [1, 2, 3]

我们可以将列表中的元素解包到三个变量 a、b、c 中,代码如下:

a, b, c = lst

现在,a、b、c 变量的值分别是 1、2、3。

解包可变长度列表

如果我们不知道列表包含的元素个数,又该如何解包呢?这时可以使用星号来解包列表中的剩余元素。例如,我们有一个包含 5 个元素的列表,其中前两个元素被解包到变量 a、b 中,代码如下:

lst = [1, 2, 3, 4, 5]
a, b, *rest = lst

星号后面的变量名可以任取,我们这里取 rest。现在,a、b 变量的值分别是 1、2,rest 变量的值是包含剩余元素的列表 [3, 4, 5]。

如果星号后面没有变量名,则剩下的元素被舍弃,例如:

a, b, * = lst

这里依然会将 lst 中的前两个元素解包到 a、b 中,但是剩余的元素会被舍弃。

解包包含其他可迭代对象的列表

如果列表中包含其他可迭代对象(如元组或字符串)的话,我们也可以使用星号来解包。例如,我们有一个包含元组和列表的列表,代码如下:

lst = [(1, 2), [3, 4]]

我们可以将里面的元素解包到四个变量中,代码如下:

(a, b), [c, d] = lst

现在,a、b、c、d 变量的值分别是 1、2、3、4。

以上就是使用星号解包列表的一些例子。通过使用星号解包列表,可以方便地将列表中的元素赋值给多个变量。