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

2024-10-03 21:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 命令list赋值blaextendele2ele1
2条回答

Python区分了“表达式”和“语句”,前者有值,通常可以在需要值的地方使用;后者执行某些操作,没有值,不能放在需要值的地方。你知道吗

赋值是一个语句,不能作为值嵌入任何地方,包括在列表文本中。你知道吗

(对于来自类C语言的人来说,这常常是一个惊喜,因为类C语言确实将赋值作为一个表达式,但是当人们在条件句中混淆===时,这常常会导致很难找到错误。)

不,Python不允许在表达式中赋值(因为它是一个很好的bug源),但是还有其他方法可以编写示例而不重复。例如

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

相关问题 更多 >