Python 什么';将列表成员分配给不同变量的最简单方法是什么?

Python 什么';将列表成员分配给不同变量的最简单方法是什么?,python,Python,我能做到这一点的唯一方法是: var1 = list[0] var2 = list[1] var3 = list[2] var4 = list[3] ... 有没有更简单的方法 var1, var2, var3, var4 = alist 名称的数量应与列表的长度相同,否则将出现错误。如果不需要所有变量,可以使用for循环 名称的数量应与列表的长度相同,否则将出现错误。如果不需要所有变量,可以使用for循环。在列表的一部分上使用序列解包: var1, var2, var3 = lst[:3]

我能做到这一点的唯一方法是:

var1 = list[0]
var2 = list[1]
var3 = list[2]
var4 = list[3]
...
有没有更简单的方法

var1, var2, var3, var4 = alist
名称的数量应与列表的长度相同,否则将出现错误。如果不需要所有变量,可以使用for循环


名称的数量应与列表的长度相同,否则将出现错误。如果不需要所有变量,可以使用for循环。

在列表的一部分上使用序列解包:

var1, var2, var3 = lst[:3]
如果要解压缩整个列表,则无需对其进行切片:

var1, var2, var3 = lst

如果
lst
没有三个元素,则最后一个代码段将失败。

在列表的某个部分使用序列解包:

var1, var2, var3 = lst[:3]
var1, var2, var3, var4 = l
如果要解压缩整个列表,则无需对其进行切片:

var1, var2, var3 = lst
如果
lst
没有三个元素,最后一个代码段将失败

var1, var2, var3, var4 = l
这假设
l
正好有4个元素长。大多数时候,你都想这样,但如果你不想

var1, var2, var3, var4 = l[:4]
将忽略额外的元素

这假设
l
正好有4个元素长。大多数时候,你都想这样,但如果你不想

var1, var2, var3, var4 = l[:4]

将忽略额外的元素。

如果其中一个变量也是一个列表,该列表应该包含另一个列表的4个成员,该怎么办?列表和其他变量可以在同一语句中赋值吗?在Python 3中,
thing1,thing2,*four_things=l[:6]
。但是,没有好的方法指定
four_things
应该正好有4个东西,如果没有,则会出错。如果您使用的是Python 2,
thing1,thing2=l[:2];四件事=l[2:6]
*四件事
中的星号在这种情况下是必要的吗?如果是这样,为什么?如果没有星号,
thing1,thing2,four_things=l[:6]
将尝试将
l[:6]
解包为三个元素的序列(可能是一个!),并将元素分配给
thing1
thing2
four_things
*
表示扩展序列解包。您可以编写
thing1,*four\u thing2=l[:6]
l[:6]
的第一项和最后一项分配给
thing1
thing2
,并将其余项放入
four\u things
中。等等,
*four_things
不是一个元组吗?如果其中一个变量也是一个列表,应该得到另一个列表的4个成员呢?列表和其他变量可以在同一语句中赋值吗?在Python 3中,
thing1,thing2,*four_things=l[:6]
。但是,没有好的方法指定
four_things
应该正好有4个东西,如果没有,则会出错。如果您使用的是Python 2,
thing1,thing2=l[:2];四件事=l[2:6]
*四件事
中的星号在这种情况下是必要的吗?如果是这样,为什么?如果没有星号,
thing1,thing2,four_things=l[:6]
将尝试将
l[:6]
解包为三个元素的序列(可能是一个!),并将元素分配给
thing1
thing2
four_things
*
表示扩展序列解包。你可以写
thing1,*four\u thing2=l[:6]
l[:6]
的第一项和最后一项分配给
thing1
thing2
,然后把其余的放在
four\u things
中。等等,
*four\u things
不是一个元组吗?