创建奇数索引python的总和

Emi*_*ero 3 python for-loop sum while-loop

我正在尝试创建一个等于列表中每个其他数字之和的函数.例如,如果列表为[0,1,2,3,4,5],则函数应等于5 + 3 + 1.我怎么能这样做?我对Python的了解并没有比while和for循环更远.谢谢.

ins*_*get 6

这是一个简单的单行:

In [37]: L
Out[37]: [0, 1, 2, 3, 4, 5]

In [38]: sum(L[1::2])
Out[38]: 9
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,L[1::2]说" L从索引1开始,得到第二个元素"

这是一种自己完成所有繁重工作的方法:

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]
Run Code Online (Sandbox Code Playgroud)

这是另一种方式,使用enumerate:

L = [0, 1, 2, 3, 4, 5]
total = 0
for i,num in enumerate(L):
    if i%2:
        total += num
Run Code Online (Sandbox Code Playgroud)