首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python代码,根据售出的书籍数量来查找所有的人

Python代码,根据售出的书籍数量来查找所有的人
EN

Stack Overflow用户
提问于 2016-12-03 03:39:12
回答 1查看 57关注 0票数 1

嗨,我被下面的代码卡住了,当我试图为这个问题找到解决方案时:根据售出的书籍数量找到所有的人。 下面是文件1711.txt的内容

  • 大卫书05沃尔玛
  • 埃米莉书10 kroger
  • 杰森食品11号目标
  • 大卫食品20克罗格
  • 伊娃布13号靶
  • 大卫书5沃尔玛

输出应该是这样的:大卫卖了10本书给沃尔玛

  • 伊娃向出售了13件衣服
  • david把20种食物卖给kroger

下面是我写的代码,请帮助我用正确的代码显示正确的结果,谢谢!

代码语言:javascript
复制
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("------------------------------")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-03 03:55:58

听起来你想要一些嵌套字典。顶层应该有所有名称的键,而值应该是另一个字典。

这些字典应该有条目的键,值应该是另一个字典。

最后,这些字典应该有有存储的键,值应该是已出售给该商店的数字。

因此,如果你去:sales_dict“大卫”“目标”,它会为你吐出10个。

编辑:这是创建词典的要点。如果您仍然有问题,我认为您应该参考https://docs.python.org/3/tutorial/datastructures.html#dictionaries

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40943990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档