【发布时间】:2017-06-01 20:26:50
【问题描述】:
所以我想创建一个嵌套的列表字典,其中内部值是一个允许重复的列表:
d = {'45678':{'ant':['N4', 'N4', 'P3', 'P3']}}
这是我目前所拥有的,但不知道如何将列表附加到内部值:
d={}
with open(file_path, 'r') as f:
for l in f.readlines()[4:]:
peaks = l.split()
if '1' in peaks[5]:
d.setdefault(peaks[0], {})['ant'] = [peaks[7]]
返回:
{'20065037': {'ant': ['N4']}}
我的问题是如何在嵌套字典中附加一个列表作为内部值?
【问题讨论】:
-
使用
list.append()方法。d.setdefault(peaks[0], {})['ant'].append(peaks[7]) -
输入文件是什么样的?我不确定其他值应该来自哪里。在 Python 中附加到列表就像
l.append(whatever)一样简单。 -
d.setdefault(peaks[0], {})['ant'] = [peaks[7]]中peaks[7]周围的方括号不会使其成为一个列表吗? -
@Kasramvd。您可能还想在内部字典中使用
setdefault。 -
@e9e9s 是的,
[peaks[7]]是一个列表。但这似乎不是您遇到的问题。
标签: python python-3.x dictionary nested