Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A set of classes that map integers to particular combinations, permutations and subsets of items and vice versa.

Project Description

Welcome to trotter, a set of Python 3 classes for representing arrangements commonly encountered in combinatorics.

Classes have been defined according to whether order is important and whether items may be reused.

Class Order Important Reuse Allowed
Amalgams Yes Yes
Permutations Yes No
Selections No Yes
Combinations No No

Also: Subsets and Compounds classes exist to represent combinations and permutations respectively of unspecified length.

Instances of these classes are indexable pseudo-lists containing all possible arrangements. Since the number of possible arrangements can grow very quickly with the number of items available and the number of items taken at a time, instances do not actually store all arrangements but are rather containers of mappings between integers and arrangements. This makes it possible to create instances that “contain” very large numbers of arrangements.

For more information, please see the trotter wiki .

An example session:

::
>>> # Import the Combinations class.
... from trotter import Combinations
>>>
>>> # A list of words.
... someWords = ["the", "parrot", "is", "not", "pining"]
>>>
>>> # A representation of 3-combinations of these words.
... c = Combinations(3, someWords)
>>>
>>> # Exactly what is c?
... print(c)
Indexable pseudo-list containing 10 3-combinations of ['the', 'parrot', 'is', 'not', 'pining'].
>>>
>>> # How many 3-combinations are there, again?
... len(c)
10
>>> # Let's see them!
... for combo in c:
...   print(combo)
...
['the', 'parrot', 'is']
['the', 'parrot', 'not']
['the', 'parrot', 'pining']
['the', 'is', 'not']
['the', 'is', 'pining']
['the', 'not', 'pining']
['parrot', 'is', 'not']
['parrot', 'is', 'pining']
['parrot', 'not', 'pining']
['is', 'not', 'pining']
Release History

Release History

This version
History Node

0.8.0

History Node

0.5.1

History Node

0.5.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
trotter-0.8.0.tar.gz (5.5 kB) Copy SHA256 Checksum SHA256 Source Feb 11, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting