Python程序找到最大的一组列表

时间:2014-02-14 03:24:56

标签: python list integer maximize

这是我之前提问的附加内容。 我想回答的问题是:

我有一个整数列表,代表市中心高街上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))

然后它告诉我“答案”是无效的语法。 我不知道如何完成它请帮忙?

2 个答案:

答案 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]