Skip to main content
 首页 » 编程设计

python之Python 字典和嵌套列表的问题

2025年05月04日18grandyang

我正在尝试创建一个包含嵌套列表的字典。

目标是:

key : [x,y,z] 

我正在从一个 csv 文件中提取信息,并计算某个键在每一列中出现的次数。但是我收到以下错误

> d[key][i] = 1 
KeyError: 'owner' 

owner 是我专栏的标题。

if __name__ == '__main__': 
    d = {} 
    with open ('sample.csv','r') as f: 
        reader = csv.reader(f) 
        for i in range(0,3): 
            for row in reader: 
                key = row[0] 
                if key in d: 
                    d[key][i] +=1 
                else: 
                    d[key][i] = 1 
 
    for key,value in d.iteritems(): 
        print key,value 

我要在这个循环中做些什么调整,让它在不存在的情况下创建一个 key ,然后在存在的情况下添加它?

请您参考如下方法:

问题是,您尝试使用没有列表的列表 ([i])。

所以你必须更换

d[key][i] = 1 

与

d[key] = [0,0,0] 
d[key][i] = 1 

这将首先创建包含三个条目的列表(因此您可以随后使用 [0]、[1] 和 [2]没有错误)然后将一个分配给列表中的正确条目。