将新值附加到Python字典中的相同键

时间:2020-09-13 10:37:59

标签: python

我正在输入:

5
A 3
A 2
A 4
B 13
B 14

我想像这样将它们放在字典中。

{A: ['3', '2', '4'] , B['13','14']}

但是我明白了:

{'A': ['3', '2', '4'], 'B': ['1', '3', '14']}

我尝试过:

N = int(input())
d = dict()

for i in range(N):
    first,second = [j for j in input().split()]
    if first in  d:
        d[first].append(second)
    else:
        d[first] = list(second)
print(d)

2 个答案:

答案 0 :(得分:2)

你想要

d[first] = [second]

不是

d[first] = list(second)

list(string)遍历string并将每个单独的字符作为单独的元素放置在列表中。

[string]创建一个列表,其中整个string作为元素。

答案 1 :(得分:0)

在输入之后,它会检查字典中是否已经存在该字典,是否附加了新值,如果还没有附加新值,则会在字典中创建一个新列表。

N = int(input())
d = dict()
for i in range(N):
    i = input()
    lst = i.split()
    if lst[0] in d:
        d[lst[0]].append(lst[1])
    else:
        d[lst[0]] = [lst[1]]
print(d)