awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
more-itertools avatar

more-itertools/more-itertools

0
View on GitHub↗
4,074 stars·322 forks·Python·MIT·7 vuesmore-itertools.rtfd.io↗

More Itertools

more-itertools est une bibliothèque d'extension pour le module itertools de Python. Elle sert de boîte à outils pour manipuler les itérables, fournissant un large éventail de routines pour la transformation de données, la génération combinatoire et la gestion de l'état des itérateurs.

La bibliothèque se distingue par une gestion d'état avancée et une génération de séquences complexes. Elle fournit des capacités pour jeter un coup d'œil aux éléments futurs, chercher au sein des séquences et produire des permutations, combinaisons et partitions d'ensembles uniques à partir de collections pouvant contenir des éléments en double.

Sa surface de capacités plus large couvre des tâches de traitement de données telles que l'aplatissement récursif, le regroupement, le remplissage et le remodelage des flux de données. Elle inclut également des utilitaires pour la fusion de flux, le fenêtrage pour l'analyse de voisinage local et la synchronisation d'itération thread-safe.

Le projet fournit en outre des routines spécialisées pour le traitement de séquences numériques, incluant la multiplication de matrices, la convolution linéaire discrète et les transformées de Fourier.

Features

  • Itertools Extensions - Extends the Python itertools module with advanced routines for data transformation and state management.
  • Standard Library Extensions - Serves as a comprehensive extension library for the standard Python itertools module.
  • Collection Element Transformations - Implements higher-order functions for mapping, filtering, and reducing iterable elements.
  • Iterable Transformation Utilities - Provides utilities to map, filter, group, and combine iterables for data processing.
  • Iterator State Wrappers - Wraps iterators in stateful classes to provide advanced capabilities like peeking, seeking, and consumption tracking.
  • Iterable Chunking - Transforms flat collections into different structures such as sliding windows, chunks, or matrices.
  • Iterator State Analysis Tools - Inspects iterator state and performs lookaheads or lookbacks without consuming the underlying data stream.
  • Iterator Peek and Seek - Provides mechanisms for looking ahead at upcoming elements without consuming the iterator.
  • Lazy Evaluation - Extensively utilizes Python generators to implement lazy evaluation for memory-efficient data processing.
  • Iterable Flatteners - Recursively collapses nested sequences or iterators into a single flat stream of elements.
  • Iterable Lookahead and Lookback Managers - Provides the ability to access preceding or succeeding elements in a sequence without consuming the entire iterator.
  • Combinatorial Generators - Provides efficient algorithms for generating all possible permutations and combinations of a set.
  • Unique Subset Generation - Generates unique subsets of a specific length from collections that may contain duplicate elements.
  • Permutation Generation Algorithms - Produces unique permutations of elements while correctly handling and avoiding duplicates from repeated values.
  • Iterable Grouping - Provides a wide array of utilities to partition standard iterables into groups based on size or content.
  • Iterable Splitting - Divides collections into multiple parts based on markers, predicates, or fixed lengths.
  • First and Last Element Accessors - Provides utilities to retrieve the first or last element of a collection.
  • Sequence Pattern Replacements - Implements a mechanism to substitute items or subsequences that match a predicate with elements from another collection.
  • Iterable Interleaving and Zipping - Merges multiple collections by interleaving elements, broadcasting values, or pairing them with offsets.
  • Multi-Iterable Interleaver - Combines several collections by yielding one element from each in turn using sequential, even, or random distributions.
  • Adjacent Match Identification - Marks items that satisfy a predicate or are within a specified distance of a matching item.
  • Element Shifting - Implements circular shifting (rolling) of sequence elements with wrap-around behavior.
  • Matrix Multiplication Utilities - Multiplies two matrices using numeric types including complex numbers and fractions.
  • Indexed Cycle Generation - Repeats a collection for a set number of cycles while yielding the current cycle index.
  • Balanced Splitting - Implements logic to break collections into smaller sub-collections of a specified or balanced size.
  • Consecutive Item Grouping - Produces groups of items that are considered adjacent based on a custom ordering function.
  • Element Staggering - Produces tuples where elements are offset from the original sequence by specified distances.
  • Item Index Location - Produces the indices of items that satisfy a predicate using forward or reverse searches.
  • Item Search and Location - Finds the index, position, or first occurrence of specific values within a collection.
  • Iterable Neighborhood Analyzers - Extracts overlapping or non-overlapping contiguous subsequences to analyze local neighborhoods of elements.
  • Iterable Padding - Appends fill values to a sequence until it reaches a minimum length or a specific size multiple.
  • Iterable Property Analyzers - Provides utilities to analyze properties of sequences, such as whether they are sorted or contain unique elements.
  • Iterable Reversal - Caches elements of a non-reversible collection to allow yielding them in reverse order.
  • Iterable Selection - Extracts specific items or subsets from a sequence based on custom value or position criteria.
  • Iterable Summaries - Calculates counts, identifies extremes, and checks for sorting or equality across iterables.
  • Iterator Consumption Tracking - Wraps collections to maintain a running tally of how many items have been consumed.
  • Sequence Augmentations - Adds padding, inserts separators, or repeats elements to modify the structure of a data stream.
  • Sliding Window Generators - Produces overlapping or non-overlapping sequences of a fixed size to analyze neighboring elements.
  • Unique Element Identification - Identifies elements that appear exclusively in only one of several input collections.
  • Caching Iterators - Provides the ability to traverse forward-only iterators in reverse by caching elements in an internal buffer.
  • Iterator Lookahead Buffers - Implements buffering mechanisms to allow peeking at future elements in a sequence without consuming them.
  • Partial Products - Generates partial products to explore combinations across multiple collections without producing every possible pair.
  • Contiguous Subsequence Generators - Generates every possible contiguous subsequence and their corresponding positions from a sliceable collection.
  • Signal Convolutions - Performs discrete linear convolution of a signal and a kernel for tasks like moving averages.
  • Fourier Transforms - Computes the Discrete Fourier Transform and its inverse for sequences of complex numbers.
  • Mathematical Sequence Processors - Performs discrete linear convolutions, Fourier transforms, and matrix multiplication on sequences of numeric or complex data.
  • Non-Indexable Iterable Sampling - Returns a random subset of elements from generators or sets using weights and repetitions.
  • Online Running Statistics - Produces cumulative minimums, maximums, means, or medians from a sequence or sliding window.
  • Numerical Sequence Processors - Implements specialized routines for matrix multiplication, discrete linear convolution, and Fourier transforms.
  • Set Partitions - Produces all possible ways to partition a collection into a fixed number of non-empty subsets.
  • Stream Merging - Interleaves elements from multiple streams in fixed or non-deterministic orders.
  • Stream Element Interspersing - Inserts fixed values or sequences at regular intervals between elements of an iterable.
  • Collection Element Counters - Calculates the total number of elements in an iterable by fully consuming the stream.
  • Thread-Safe Iterator Wrappers - Synchronizes access to non-concurrent iterators to ensure safe sequential processing across multiple threads.
  • Functional Programming - Extends standard library iteration tools with additional routines.
  • General Utilities - Extended routines for operating on iterables.

Historique des stars

Graphique de l'historique des stars pour more-itertools/more-itertoolsGraphique de l'historique des stars pour more-itertools/more-itertools

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à More Itertools

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec More Itertools.
  • erikrose/more-itertoolsAvatar de erikrose

    erikrose/more-itertools

    4,074Voir sur GitHub↗

    more-itertools is a Python iterable utility library providing advanced functions for manipulating, filtering, and transforming data sequences. It serves as a data stream processing toolkit and a set of utilities for iterator state management, extending the capabilities of the standard Python itertools module. The library includes a combinatorial math toolkit for generating permutations, combinations, and powersets, alongside routines for number theory calculations and matrix operations. It also provides tools for stream state management, allowing users to peek at upcoming elements or seek wit

    Python
    Voir sur GitHub↗4,074
  • apple/swift-algorithmsAvatar de apple

    apple/swift-algorithms

    6,293Voir sur GitHub↗

    Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting, cycling, combining, and sampling collections with lazy evaluation. It extends Swift's standard library with algorithms that work across all types conforming to Sequence and Collection protocols, enabling efficient data processing without intermediate storage. The library specializes in combinatorial enumeration, generating all possible permutations, combinations, and product sequences from collections for testing and exploration. It also includes utilities for splitting collectio

    Swiftalgorithmiteratoritertools
    Voir sur GitHub↗6,293
  • azl397985856/leetcodeAvatar de azl397985856

    azl397985856/leetcode

    55,758Voir sur GitHub↗

    This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t

    JavaScriptalgoalgorithmalgorithms
    Voir sur GitHub↗55,758
  • xtensor-stack/xtensorAvatar de xtensor-stack

    xtensor-stack/xtensor

    3,748Voir sur GitHub↗

    xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp

    C++c-plus-plus-14multidimensional-arraysnumpy
    Voir sur GitHub↗3,748
Voir les 30 alternatives à More Itertools→

Questions fréquentes

Que fait more-itertools/more-itertools ?

more-itertools est une bibliothèque d'extension pour le module itertools de Python. Elle sert de boîte à outils pour manipuler les itérables, fournissant un large éventail de routines pour la transformation de données, la génération combinatoire et la gestion de l'état des itérateurs.

Quelles sont les fonctionnalités principales de more-itertools/more-itertools ?

Les fonctionnalités principales de more-itertools/more-itertools sont : Itertools Extensions, Standard Library Extensions, Collection Element Transformations, Iterable Transformation Utilities, Iterator State Wrappers, Iterable Chunking, Iterator State Analysis Tools, Iterator Peek and Seek.

Quelles sont les alternatives open-source à more-itertools/more-itertools ?

Les alternatives open-source à more-itertools/more-itertools incluent : erikrose/more-itertools — more-itertools is a Python iterable utility library providing advanced functions for manipulating, filtering, and… apple/swift-algorithms — Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting,… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically… xtensor-stack/xtensor — xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an… mahmoud/boltons — Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of… boostorg/boost — Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides…