sortedcontainers
more-itertools
Our great sponsors
sortedcontainers | more-itertools | |
---|---|---|
6 | 9 | |
3,219 | 3,414 | |
- | 1.3% | |
7.4 | 9.1 | |
about 1 month ago | 28 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sortedcontainers
-
Ask HN: Where do I find good code to read?
If you like Python, the library sortedcontainers as a clear, well documented, yet short source code that is a joy to read for a non trivial problem:
https://github.com/grantjenks/python-sortedcontainers/blob/m...
-
Problem #2353 Design a food rating system
See for yourself. Looks like sortedset uses sortedlist under the hood, which itself uses a list of lists under the hood.
-
Discussion Thread
You could use http://www.grantjenks.com/docs/sortedcontainers/ instead!
-
Blog Post: Large Rust Workspaces
Even the Gentoo package repository manages fine with a two-level hierarchy. There's also a Python library, sortedcontainers, that suggests two-level trees are pretty good at any reasonable human-scale (and beyond), even while fixed-arity trees are asymptotically optimal.
-
Show HN: Mongita is to MongoDB as SQLite is to SQL
It's a good question and to be accurate, depending on the benchmark, Mongita is about the same speed at SQLite to several-times slower.
There is less happening algorithmically than you would think. Where the tricky slow bits do exist, they have largely fallen into the happy-path of fast data structures in the Python language/stdlib. I also use sortedcontainers for indexes which helped quite a bit (http://www.grantjenks.com/docs/sortedcontainers/).
If you're curious, the benchmark code is in the repo: https://github.com/scottrogowski/mongita/blob/master/benchma...
-
Top 15 Python Packages You Must Try
I’d like to add sortedcontainers. I use it all the time. It basically does what it says on the tin. Other than the SortedList, the fact that the container is sorted only comes into play when you iterate over it or perform a bisect left/right.
more-itertools
-
I want to learn reading other people code
I'd bet that reading through more-itertools would be a good exercise.
-
Why iter() & next()
check out the code examples in itertools and the source code of more-itertools if you want to see cases where next and iter get used by themselves.
-
Quick way to split and zip a list?
from itertools import islice # Copied from the more-itertools library (MIT license) # https://github.com/more-itertools/more-itertools def batched(iterable, n): "Batch data into lists of length n. The last batch may be shorter." # batched('ABCDEFG', 3) --> ABC DEF G if n < 1: raise ValueError('n must be at least one') it = iter(iterable) while (batch := list(islice(it, n))): yield batch
- more-itertools: More routines for operating on iterables, beyond itertools
-
How do I loop this?
more_itertools.chunked
-
Is there a better way to write this code?
I've had a tab open to more-itertools on github for weeks; maybe I should go read it...
-
Help loading data in batches
The popular more-itertools library implements (among many others) a chunked method which yields lists of size n from an iterator. There is also the ichunked method which yields iterators of size n instead of lists.
-
How to find missing number in groups(lists)
There's a function called consecutive_groups in the more-itertools library that will do this for you efficiently.
-
I am a proficient Python coder whose learning has plateaued. Any really useful libraries I should look into learning? Taking recommendations.
Here are some that might answer your question: - algorithms is a library which contains many of the most useful algorithms for sorting, searching, working with trees, math algorithms like factorials, prime finders and many more - data classes to save you the trouble of writing everytime special methods in a class like init, repr, set, get - box allows the use of dot on dictionaries to access the keys - more-itertools for more routines to operate on iterables than those itertools provide.
What are some alternatives?
python-patterns - A collection of design patterns/idioms in Python
TheAlgorithms - All Algorithms implemented in Python
algorithms
python-ds - No non-sense and no BS repo for how data structure code should be in Python - simple and elegant.
PyPattyrn - A simple library for implementing common design patterns.
ClointFusion - Cloint India Pvt. Ltd's (ClointFusion) Pythonic RPA (Automation) Platform
Box - Python dictionaries with advanced dot notation access