直接修改字典中键的列表值

时间:2016-01-19 14:29:10

标签: python dictionary key

为什么我不能直接修改以下dict中的列表值?

price_to_names = {'$': [], '$$': []}
price_to_names['$'] = price_to_names['$'].append('hello')

以下代码将dict更改为

{'$': None, '$$': []}

我希望price_to_names成为

{'$': ['hello'], '$$': []}

1 个答案:

答案 0 :(得分:1)

如果修改了列表,

append不会返回新列表。

price_to_names['$'].append('hello')None,因为列表的append方法返回None。这就是您将None指定为键'$'的值的原因。不要使用作业,只需附加到您的列表中:

>>> price_to_names = {'$': [], '$$': []}
>>> price_to_names['$'].append('hello')
>>> price_to_names
{'$$': [], '$': ['hello']}