如何在扩展列表时为变量赋值?

时间:2014-03-12 09:18:02

标签: python python-2.7

可以在命令“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])

2 个答案:

答案 0 :(得分:2)

Python区分"表达式",它们有一个值,通常可以在需要值的地方使用,而#34;语句",执行某些操作,没有值,不能放在需要值的地方。

Assignment是一个语句,不能作为值嵌入任何地方,包括列表文字。

(对于那些来自类C语言的人来说,这通常会让人感到意外,因为这些语言会使分配成为一种表达,但是当人们混淆=和{时,这通常会导致难以发现的错误条件句中的{1}}。

答案 1 :(得分:1)

不,Python不允许在表达式内部进行赋值(因为它是错误的一个很好的来源)但是还有其他方法可以在没有重复的情况下编写示例。例如

a, b = ele1 = [1, "bla"]
ele2 = []
lst = [ele1, ele2]