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
不是一个元组吗?