我只是希望我可以在为特定键添加多个值时获得一些帮助。 我知道如何更改值并添加新密钥及其值。我只是无法用一个键获得多个值。 我遇到的问题是我不确定添加到密钥的值是多少。是否有任何方法可以在python中为键添加值。
我正在运行3.4版
由于
我已尝试附加值,但它会出现错误,例如不可用的类型:'slice',object不可预订
答案 0 :(得分:1)
目前还不完全清楚你想要做什么,但如果你只想要一个特定键的值列表,那么一个简单的方法就是使用dict.setdefault
my_dict = {}
my_dict.setdefault('key_name', []).append('value')
print(my_dict)
Out[416]: {'key_name': ['value']}
my_dict['key_name'].append('new_value')
print(my_dict)
Out[417]: {'key_name': ['value', 12]}
如果这不是您所希望的,您可以随时编写一个捕获所需行为的类,但似乎它可能是一个陷阱。 :)
class AppendDict(dict):
"""Just like dict, except it appends to existing values instead of overwriting them"""
def __setitem__(self, key, value):
if (key in self) && (type(self[key]) is list):
self[key].append(value)
else:
super(AppendDict, self).__setitem__(key, value)