创建奇数索引之和python
问题描述
我正在尝试创建一个等于列表中所有其他数字之和的函数.例如,如果列表是 [0,1,2,3,4,5],则函数应该等于 5+3+1.我怎么能这样做?我对 Python 的了解并没有比 while 和 for 循环更深入.谢谢.
I'm trying to create a function equal to the sum of every other digit in a list. For example, if the list is [0,1,2,3,4,5], the function should equal 5+3+1. How could I do this? My knowledge of Python does not extend much farther than while and for loops. Thanks.
解决方案
这是一个简单的单行:
In [37]: L
Out[37]: [0, 1, 2, 3, 4, 5]
In [38]: sum(L[1::2])
Out[38]: 9
在上面的代码中,L[1::2]
表示获取 L
中的第二个元素,从索引 1 开始"
In the above code, L[1::2]
says "get ever second element in L
, starting at index 1"
这是一种自己完成所有繁重工作的方法:
Here is a way to do all the heavy lifting yourself:
L = [0, 1, 2, 3, 4, 5]
total = 0
for i in range(len(L)):
if i%2: # if this is an odd index
total += L[i]
这是另一种方式,使用 enumerate
:
Here's another way, using enumerate
:
L = [0, 1, 2, 3, 4, 5]
total = 0
for i,num in enumerate(L):
if i%2:
total += num
相关文章