嗨,我在尝试寻找以下问题的解决方案时陷入了下面的代码:根据售出的书籍数量查找所有人。
以下是文件1711.txt的内容
输出应该是这样的:大卫卖了10本书给沃尔玛
eva卖出13块布瞄准
大卫卖给克罗格20种食物
以下是我编写的代码,请协助我提供正确的代码以显示正确的结果,谢谢!
d={}
p={}
q={}
with open("1711.txt","r") as f:
for line in f:
a=line.split()
l,m,n,o=str(a[0]), str(a[1]), int(a[2]), str(a[3])
d.setdefault(l,[]).append(n)
p.setdefault(m,[]).append(n)
q.setdefault(o,[]).append(n)
d=dict((key,sum(val)) for key,val in d.items())
print (d)
print("----------------------")
p=dict((keys,sum(values)) for keys,values in p.items())
print (p)
print("--------------------")
q=dict((keeys,sum(valu)) for keeys,valu in q.items())
print (q)
print("----------------------------")
for k, v in d.items():
print("number of itmes sold by {} is {}".format(k,v))
print("------------------------------")
for k, v in q.items():
print("number of itmes in {} is {}".format(k,v))
print("------------------------------")
for k, v in p.items():
print("total number of {} sold is {}".format(k,v))
print("------------------------------")
听起来好像您想要一些嵌套的字典。顶层密钥应具有所有名称的键,而值应是另一本字典。
这些字典应该具有项目的键,并且值应该是另一个字典。
最后,这些词典应该具有包含商店的键,并且值应该是已出售给该商店的编号。
因此,如果您去了:sales_dict [“ david”] [“ book”] [“ target”],它将为您吐出10。
编辑:这是创建字典的要点。如果您仍然遇到问题,我认为您应该参考https://docs.python.org/3/tutorial/datastructures.html#dictionaries。
d = {}
for line in f:
a=line.split()
l,m,n,o=str(a[0]), str(a[1]), int(a[2]), str(a[3])
if l not in d:
d[l] = {}
if m not in d[l]:
d[l][m] = {}
if n not in d[l][m]:
d[l][m][n] = 0
d[l][m][n] += int(o)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句