给出这两本词典
d1 = {'Hulu' : 12, 'Crunchyroll' : 10, 'Cornhub' : 10, 'Twitter': 20 }#Name and Date
d2 = {'Crunchyroll': 15, 'Bulu' : 30, 'Cornhub': 50, 'Hulu': 25, 'Twitter': 100}#Name and Amount
找到任何匹配的名称,并使用D2中的条目创建嵌套词典.使用d1中的值作为‘父名称’(不确定这是否是正确的术语)
我目前的输出:
{12: {('Hulu', 25)}, 10: {('Crunchyroll', 15)}, 'Cornhub': 50, 20: {('Twitter', 100)}}
我的预期输出:
{12: {('Hulu', 25)}, 10: {('Crunchyroll', 15), ('Cornhub', 50)}, 20: {('Twitter', 100)}}
以下是我到目前为止拥有的完整代码
d1 = {'Hulu' : 12, 'Crunchyroll' : 10, 'Cornhub' : 10, 'Twitter': 20 }#Name and Date
d2 = {'Crunchyroll': 15, 'Bulu' : 30, 'Cornhub': 50, 'Hulu': 25, 'Twitter': 100}#Name and Amount
dp = {}
total = 0
space = ' '
for x in d1.items() :
#print(x)
for i in d2.items() :
#print(x,":",i)
#Filter based of names
if x[0] == i[0] and x[1] not in dp.keys() :
#print('Date', x[1], 'Bill:Amount', i)
dp[x[1]] = {i}
total += i[1]
elif x[0] == i[0] and x[1] in dp.keys() :
#print('elif', i)
total += i[1]
dp.update({i})
#print(sorted(dp.items(), key=lambda x:x))
print('Up coming bills', dp, '\n''Total= $',total)
我也try 了-在ELIF中而不是更新中,但也失败了,并重写了现有的key:Value Items
dp[x[1]] = {i[0] : i[1]}