Skip to content
Simple permutations using Python - See original gist ⇢
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENCE
OUTPUT.md
README.md
integers_permutation.py
integers_strings_permutation.py
use_case_permutations.py

README.md

Permutations using Python

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

One simple program using Python for applying strings and integer permutations.
The following gist offers a program scaled in four subsets:

  • apply permutations on strings, refer to strings_permutation.py
  • apply permutations on integers, refer to integers_permutation.py
  • apply permutations on both integers and strings in a single program, refer to integers_strings_permutation.py
  • use case: apply permutations on a card game, refer to use_case_permutations.py.

Getting Started

This Python program built in four lines helps you avoid the use of an extented code for applying permutations on numeric data. The below instructions will help you run this Python program on your local machine for development and testing purposes, as well as in third party sites hosted in the cloud.

  • (#) and (''') are used to comment the following gist.

Prerequisites

I am using Jupyter Notebook on localhost (Ubuntu 18.04 bionic).
Make sure to have Jupyter Notebook installed on your operating system or launch it on remote servers (see Tips).

Tips

If you are not using Linux/Unix and still want to try this simple Python program:

Basic commands in Jupyter Notebook

  • Note that in Jupyter you add new lines by typing "b" from your keyboard whilst the notebook is opened.
  • Avoid runing the entire code in a single cell in order to understand the steps.
  • Use "ctrl + enter" to execute each line if you want to get the output.
  • Use "dd" outside a cell to delete it.
  • Running the last cell should execute the permutations as program output.

Whilst your Jupyter Notebook is open... Use this line of code in your first cell

from itertools import permutations

'''
This loads requested package
and library in your notebook
'''

Use this line of code in your second cell

perm = permutations([3, 6, 9])

'''
This returns no result until
the last cell is ran
'''

Use this line of code in your third cell

for (i) in list(perm): 
print (i)

'''
This completes the program, showing permutations
of numbers 3,6,9 as output.
'''

Running the tests

  • I used Ubuntu (18.04 bionic) to launch Jupyter Notebook on localhost.
  • Localhost instantiates while using $ jupyter notebook in the terminal.
  • Check if Jupyter is correctly installed: $ jupyter --version

Built With

  • Jupyter - An open source software for creating notebooks
  • Itertools - Functions creating iterators for efficient looping
  • Math - Mathematical functions defined by the C standar

Versioning

I used no vesioning system for this gist, which repos status is flagged as concept because it is intended to be a demo or POC (proof-of-concept).

Author

  • Isaac Arnault - Suggesting a minified code from Initial work redspider

License

All public gists https://gist.github.com/aiPhD
Copyright 2018, Isaac Arnault
MIT License, http://www.opensource.org/licenses/mit-license.php

Use case - Applying a factorial n function in a card game

Extended application of the above program. Permutations are great for finding number of ways an array of integers can be sorted. Let's imagine that that we have a standard 52-card deck and we wish to find the number of permutations of four aces while shuffling the cards. We may need to add a function to our code and to use another package and libraby. Check use_case_permutations.py for more info.

You can’t perform that action at this time.