我在 python 中使用链式方法时遇到了这种情况。假设,我有以下代码
hash = {}
key = 'a'
val = 'A'
hash[key] = hash.get(key, []).append(val)
返回一个 [] ,hash.get(key, [])
我期待字典是{'a': ['A']}
. 但是字典设置为{'a': None}
. 在进一步查找时,我意识到这是由于 python 列表而发生的。
list_variable = []
list_variable.append(val)
将 list_variable 设置为['A']
但是,在初始声明中设置一个列表
list_variable = [].append(val)
type(list_variable)
<type 'NoneType'>
我对 list_variable 应该包含 ['A'] 的理解和期望有什么问题?为什么这些语句的行为不同?