总结Python列表的第一个k元素?

Ors*_*rso -4 python sum list

如何计算给定列表中的前k项?

例如:

myList = [1,2,5]
Run Code Online (Sandbox Code Playgroud)

如何使用ķ返回1 ķ为= 1,3 ķ = 2和8用于ķ = 3?

Mar*_*ers 7

您有两种选择,均使用sum():

islice() 内存效率更高,可以与切片竞争:

>>> import timeit
>>> somelist = list(range(10000))
>>> k = 1
>>> timeit.timeit('sum(somelist[:k])', 'from __main__ import somelist, k')
0.23189388398895971
>>> timeit.timeit('sum(islice(somelist, k))', 'from __main__ import somelist, k; from itertools import islice')
0.2557754369918257
>>> k = len(somelist) // 2
>>> timeit.timeit('sum(somelist[:k])', 'from __main__ import somelist, k')
51.454719836998265
>>> timeit.timeit('sum(islice(somelist, k))', 'from __main__ import somelist, k; from itertools import islice')
53.374267254024744
Run Code Online (Sandbox Code Playgroud)

即使对于大型版本k,该islice()版本与切片在同一个球场内,但我们不必k首先使用引用创建另一个列表对象.