在Python2.7中将列表添加到字典

2024-06-15 03:05:19 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将列表添加到字典中?

我有一本字典:

>>> data = {}
>>> myfile='file.txt'
>>> data.update({myfile:['parama','y']})
>>> data
{'file.txt': ['parama', 'y']}

我想在钥匙上加上'文件.txt“另一个问题,结果是

^{pr2}$

我试图像这样更新这个特定的密钥:

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'
>>> 

如何将列表添加到字典中?


Tags: 文件txt列表data字典错误密钥update
1条回答
网友
1楼 · 发布于 2024-06-15 03:05:19

我想你要找的是一个字典,它的键是文件名,其值本身就是字典,其键是参数名。像这样:

d = {
    'filename1': {
        'parama': 'A',
        'paramb': '22' },
    'filename2': {
        'parama': 'Z'}
}

这将允许您访问如下值:

^{pr2}$

如果要获取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。在

相关问题 更多 >