这是我之前提问的附加内容。 我想回答的问题是:
我有一个整数列表,代表市中心高街上n个企业(商店)的年利润(以千欧元计)。我有四(4)个企业(“免费”),彼此相邻。问题是计算我应该采取哪4个来最大化我的年度利润。鉴于这些数字,写一个PYTHON程序来计算我应该采取哪4个。例如:如果利润是52,67,-8,43,-20,我应该采取前4个业务。如果利润是-20,36,-10,-30,3,21,我就不会做生意。
第二次尝试:
groups = zip(mylist,mylist[1:25,34,-2,-57],mylist[2:-8,47,28,19],mylist[3:47,-57,54,-96],mylist[4:-1,73,38,39],mylist[5:76,-49,6,-3],mylist[6:9,-7,-99,28],mylist[7:37,88,74,-3],mylist[8:23,-2,-5,78],mylist[9:38,-9,31,32],mylist[10:32,-58,66]
Answer = max(sum(groups))
然后它告诉我“答案”是无效的语法。 我不知道如何完成它请帮忙?
答案 0 :(得分:1)
你错过了第一行的结束)
。
答案 1 :(得分:1)
sum
总结了清单。您有一个列表列表,因此它并不真正知道您要在列表中对这些列表求和。
你可以通过列表理解来实现:
summedlists = [sum(mylist) for mylist in groups]
或map
:
summedlists = map(sum, groups)
现在summedlists
是一个总计列表。它的最大值是
maxval = max(summedlists)
并且该元素的索引是
maxi = summedlists.index(maxval)
如果您想要商店前四名的指数和价值:
top4 = sorted(list(enumerate(summedlists)), key = lambda x: x[1])[:4]