Python 将元素添加到字典中的嵌套数组,使用嵌套数组将系列转换为可读字典
我需要向字典中的数组添加一个元素,这是我的代码:Python 将元素添加到字典中的嵌套数组,使用嵌套数组将系列转换为可读字典,python,arrays,python-3.x,pandas,dictionary,Python,Arrays,Python 3.x,Pandas,Dictionary,我需要向字典中的数组添加一个元素,这是我的代码: 索引9=[] dataInfected9={} 对于索引,data9.items()中的值: 如果索引[0]不在索引9中: 索引9.append(索引[0]) dataInfected9[索引[1]]。追加(值) 数据如下所示 {Series(32,)} (('NSW', 'hs'), 1539) (('NSW', 'blood'), 70) (('NSW', 'hsid'), 50) .... (('QLD', 'hs'), 186) 应该
索引9=[]
dataInfected9={}
对于索引,data9.items()中的值:
如果索引[0]不在索引9中:
索引9.append(索引[0])
dataInfected9[索引[1]]。追加(值)
数据如下所示
{Series(32,)}
(('NSW', 'hs'), 1539) (('NSW', 'blood'), 70) (('NSW', 'hsid'), 50) .... (('QLD', 'hs'), 186)
应该是这样的:
dataInfected9 = {
"hs":[1539, ..., 186],
"blood":[70, ..., 90],
....
},
)
indexes=['NSW', ..., 'QLD']
问题是此代码dataInfected9[index[1]]。append(value)
不起作用,是否给我签名错误:
File ... line 84...
dataInfected9[index[1]].append(value)
KeyError: 'hs'
使用
dict.setdefault
Ex:
dataInfected9 = {}
indexes = set() #Using set to prevent dups.
for (k, v), n in data9.items():
indexes.add(k)
dataInfected9.setdefault(v, []).append(n)
此行
dataInfected9[index[1]].append(value)
不起作用的原因是它试图访问索引(例如'hr'),而它最初没有声明或初始化
解决方案如下,在有问题的行之前添加以下内容:
if index[1] not in dataInfected9:
dataInfected9[index[1]] = []
谢谢你的解释帮助我理解了另一个答案,你的答案很好,但另一个答案更清楚。如果有帮助的话,那就太好了。继续做好工作