Magic List is a module that extends the built-in list type.
Documentation · PyPI package · How to install · Notes for contributors and maintainers
Note
Its development is entirely test-driven: it is battery-tested and requires a test coverage of 100%. It also provides type stubs.
pip install magic-list
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
The L[0, 1]
notation is a way to construct magic lists nicely.
First of all, thank you for taking your time to participate in this project! 💕
You might want to check those:
- Code of Conduct · a document to set standards for respectful and inclusive behavior within the community
- README-dev.md · documentation to help you familiarize with Magic List's workflow
- Feature proposals · a list of the proposed features in the past, present and future