任务如下:对列表中的偶数索引元素求和,然后将结果乘以该列表的最后一个元素。我在Python中有这样一行解决方案代码。
array = [-37,-36,-19,-99,29,20,3,-7,-64,84,36,62,26,-76,55,-24,84,49,-65,41]
print sum(i for i in array if array.index(i) % 2 == 0)*array[-1] if array != [] else 0
我的结果是-1476(计算公式为:41*(-37-19+29+3-64+36+26+55+84-65))
正确的结果是1968。
我无法理解为什么在这种情况下这段代码不能正常工作。