Emi*_*ero 3 python for-loop sum while-loop
我正在尝试创建一个等于列表中每个其他数字之和的函数.例如,如果列表为[0,1,2,3,4,5],则函数应等于5 + 3 + 1.我怎么能这样做?我对Python的了解并没有比while和for循环更远.谢谢.
这是一个简单的单行:
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)