Tro*_*yvs 5 python yield sum list
通常我们必须 (1) 声明一个列表 (2) 使用以下方法计算该列表的总和sum()
但现在我希望指定一个以 1 开头、间隔为 4、100 个元素的列表,如下所示:
\n[1,5,9,13,17,21,25,29,33,37,\xe2\x80\xa6]\n
Run Code Online (Sandbox Code Playgroud)\n我不想\xe2\x80\x99 不想涉及数学公式,所以
\n\n\n(1) 如何在不声明此列表的情况下获得总和?
\n(2) 如何快速求出列表中第101个元素到第200个元素的和?
\n
只需使用即可itertools.count
获取计数器并itertools.islice
获取所需数量的元素(您可以迭代这些实例,但它们不会创建列表!):
>>> from itertools import count, islice
>>> sum(islice(count(1, step=4), 100)) # get the first 100 elements and sum them
19900
Run Code Online (Sandbox Code Playgroud)
还islice
支持启动/停止:
>>> sum(islice(count(1, step=4), 101, 200)) # 101st element to 200th
59499
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2661 次 |
最近记录: |