如何将列表添加到字典中?
我有本字典:
>>> data = {}
>>> myfile='file.txt'
>>> data.update({myfile:['parama','y']})
>>> data
{'file.txt': ['parama', 'y']}我想在键'file.txt‘中添加另一个按钮,这样的结果将是
{'file.txt': (['parama', 'y'],['paramb','abc'])}我试图像这样更新这个特定的键:
data['file.txt'].update(['paramb','abc'])但有个错误:
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
data['file.txt'].update(['paramb', 'y'])
AttributeError: 'list' object has no attribute 'update'
>>> 如何将列表添加到字典中?
发布于 2014-11-13 21:40:07
我认为您在这里要的是一个字典,它的键是文件名,其值本身就是字典,其键是参数名。如下所示:
d = {
'filename1': {
'parama': 'A',
'paramb': '22' },
'filename2': {
'parama': 'Z'}
}这将允许您访问这样的值:
>>> d['filename1']['parama']
'A'如果您想获得filename1的所有参数
>>> d['filename1']
{'parama': 'A', 'paramb': '22'}
>>> for k, v in d['filename1'].items():
... print('{}: {}'.format(k, v))
parama: A
paramb: 22如果是这样的话,你会在达到你所要求的程度之前就开始写作。而不是这样:
data.update({myfile:['parama','y']})…你想:
data[myfile]['parama'] = 'y'然而,这里有一个小问题。如果这是您第一次看到myfile的参数,那么还没有data[myfile]。要解决这个问题,可以使用setdefault方法:
data.setdefault(myfile, {})['parama'] = 'y'或者您可以将data变成一个collections.defaultdict(dict),而不是普通的dict。
https://stackoverflow.com/questions/26918759
复制相似问题