字典中的值重复

2024-04-29 03:33:55 发布

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

我正在尝试读取以下格式的csv文件:

number,alphabet
1,a
2,b
3,c
2,b
1,a

创建词典的代码:

alpha = open('alpha.csv','r')
csv_alpha = csv.reader(alpha)

alpha_file = {row[0]:row[1] for row in csv_alpha}

输出:

alpha_file = { 1:'a', 2:'b', 3:'c' }

通过查看文件,1和2有重复的值。你知道吗

如何将输出更改为:

alpha_file = { 1:'a', 1:'a', 2:'b', 2:'b', 3:'c' }

液化天然气-Python


Tags: 文件csv代码inalphanumberfor格式
1条回答
网友
1楼 · 发布于 2024-04-29 03:33:55

使用list保存键的值

alpha = open('alpha.csv','r')
csv_alpha = csv.reader(alpha)

alpha_file = dict()
for row in csv_alpha:
    if row[0] in alpha_file:
        alpha_file[row[0]].append(row[1])
    else:
        alpha_file[row[0]] = [row[1]]

输出如下:

{ 1:['a','a'],2:['b','b'], 3:['c'] }

要输出关键字出现的次数,请使用for循环

d = { 1:['a','a'],2:['b','b'], 3:['c'] }
amount = []
for key, value in d.iteritems():
    amount += [key] * len(value)
print amount

输出如下所示:

[1, 1, 2, 2, 3]

相关问题 更多 >