为什么 list( tuple ).append('a') 不起作用?



我发现这是有效的:

a = list(('i', 'am'))
a.append('a')
a
['i', 'am', 'a']

但不是这个:

b = list(('i','am')).append('a')
b

b未分配列表;它被分配了append方法的结果即None

换句话说,b = list(('i','am')).append('a')不被解释为

(b = list(('i','am'))).append('a')

从Python 3.8开始,可以编写

(b := list(('i', 'am'))).append('a')

使用赋值表达式运算符:=来获得所需的效果,但我有信心声称这将被认为是糟糕的风格。

最新更新