可以在命令“extend”中为变量赋值吗?
例如:
ele1=[]
ele2=[]
list=[ele1,ele2]
list[0].extend([a=1,b="bla"])
而不是:
ele1=[]
ele2=[]
list=[ele1,ele2]
a=1
b="bla"
list[0].extend([a,b])
答案 0 :(得分:2)
Python区分"表达式",它们有一个值,通常可以在需要值的地方使用,而#34;语句",执行某些操作,没有值,不能放在需要值的地方。
Assignment是一个语句,不能作为值嵌入任何地方,包括列表文字。
(对于那些来自类C语言的人来说,这通常会让人感到意外,因为这些语言会使分配成为一种表达,但是当人们混淆=
和{时,这通常会导致难以发现的错误条件句中的{1}}。
答案 1 :(得分:1)
不,Python不允许在表达式内部进行赋值(因为它是错误的一个很好的来源)但是还有其他方法可以在没有重复的情况下编写示例。例如
a, b = ele1 = [1, "bla"]
ele2 = []
lst = [ele1, ele2]