Usually we have to (1) declare a list (2) calculate a sum of this list using sum()
But now I wish to specify a list start with 1 and interval 4, 100 elements, like this:
[1,5,9,13,17,21,25,29,33,37,…]
I don’t want to envolve mathematical formula, so
(1) How to get the sum without even declaring this list?
(2) How to quickly get sum from 101st element to 200th element of this list?
Simply use itertools.count
to get a counter and itertools.islice
to get the required number of elements (you can iterate these instances but they don't create a list!):
>>> from itertools import count, islice
>>> sum(islice(count(1, step=4), 100)) # get the first 100 elements and sum them
19900
The islice
also supports start/stop:
>>> sum(islice(count(1, step=4), 101, 200)) # 101st element to 200th
59499
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With