【发布时间】:2014-04-06 15:08:12
【问题描述】:
任务如下:将具有偶数索引的列表元素相加,并将结果乘以最后一个列表的元素。 我在 Python 中有这个 oneliner 解决方案代码。
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 年。
我不明白为什么这段代码在这种特殊情况下不能正常工作。
【问题讨论】:
标签: python list sum conditional-statements slice