Python 当I';我用另一个参数来决定它

Python 当I';我用另一个参数来决定它,python,list,Python,List,我现在有个问题,我有点困了。我有两个清单,“销售”和“日期”。这些销售是关于几种产品的,我想总结一下同一个月的所有销售情况 假设我有 sells = [25, 30, 1, 5, 15, 12] date = [July 18, July 18, August 18, September 18, September 18, September 18] 现在我正试图这样解决它: last = None sell = [] for s, d in zip(sells, date): if

我现在有个问题,我有点困了。我有两个清单,“销售”和“日期”。这些销售是关于几种产品的,我想总结一下同一个月的所有销售情况

假设我有

sells = [25, 30, 1, 5, 15, 12]
date = [July 18, July 18, August 18, September 18, September 18, September 18]
现在我正试图这样解决它:

last = None
sell = []
for s, d in zip(sells, date):
    if d == last
    sell.append(sum(s)
我有点遵循我在这里读到的解释:但是我没有得到任何输出


我做错了什么

您可以使用
itertools.groupby
zip

from itertools import groupby 
sells = [25, 30, 1, 5, 15, 12]
date = ['July 18', 'July 18', 'August 18', 'September 18', 'September 18', 'September 18']
new_results = groupby(sorted(zip(date, sells), key=lambda x:x[0]), key=lambda x:x[0])
final_data = {a:sum(b for _, b in c) for a, c in new_results}
输出:

{'August 18': 1, 'July 18': 55, 'September 18': 32}

“我没有得到任何输出”代码中没有应该输出任何内容的内容。代码中有语法错误。d==last之后的预处理是错误的,并且a:缺失,并且末尾有一个缺失)。并且没有输出eg打印。那么,您希望得到什么样的输出呢?谢谢!这真的很有帮助。但是,我得到的字典是按字母顺序排序的,我错过了最初的顺序。