嗨,我被下面的代码卡住了,当我试图为这个问题找到解决方案时:根据售出的书籍数量找到所有的人。 下面是文件1711.txt的内容
输出应该是这样的:大卫卖了10本书给沃尔玛
下面是我写的代码,请帮助我用正确的代码显示正确的结果,谢谢!
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("------------------------------")发布于 2016-12-03 03:55:58
听起来你想要一些嵌套字典。顶层应该有所有名称的键,而值应该是另一个字典。
这些字典应该有条目的键,值应该是另一个字典。
最后,这些字典应该有有存储的键,值应该是已出售给该商店的数字。
因此,如果你去:sales_dict“大卫”“目标”,它会为你吐出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)https://stackoverflow.com/questions/40943990
复制相似问题