Magic List is a module that extends the built-in list type.
Project description
Magic List
Magic List is a module that extends the built-in list type.
[!NOTE] Its development is entirely test-driven: it is battery-tested and requires a test coverage of 100%. It also provides typing stub files.
Documentation
Documentation can be found here.
Examples
Fibonacci sequence
In the functional programming spirit, let's write a function that given an integer n
, returns the fibonacci sequence up to the n
-th member.
For example, fibonacci_sequence(10)
would return [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
.
import operator
from magic_list import L, list
def fibonacci_sequence(n: int) -> list[int]:
# let's start by creating a list with the first two members, 0 and 1.
base = L[0, 1]
# we define a function that we will use to generate the next members of
# the sequence
def next_member(current: list[int]) -> int:
return current.take_right(2).sum()
return base.fill_right(next_member, n - 1)
[!NOTE]
TheL[0, 1]
notation is a way to construct magic lists nicely.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
magic_list-2.1.0.tar.gz
(11.1 kB
view hashes)
Built Distribution
magic_list-2.1.0-py3-none-any.whl
(11.0 kB
view hashes)
Close
Hashes for magic_list-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fff4776c72b5308fdb53f5d15e815ac035a61ccc4309fad76ebbbb1facd50cc1 |
|
MD5 | 4b9b67b96916ccbe5e5325419b808a13 |
|
BLAKE2b-256 | 91cdd8bc8b1a6c92fe7740ee6a32cb389d61b45dd6e1dd409df38067fd021e7c |