Skip to main content

Complete shuffling of lists with true random or pseudo random sequences.

Project description

complete_shuffle

PyPI PyPI - Status GitHub Release Date Language grade: Python Codacy Badge PyPI - Downloads PyPI - Python Version PyPI - License

Complete shuffling of lists with true random or pseudo random sequences.

Multiple external true random sources can be accessed to shuffle the list.

In addition to the shuffle function, there are also random cyclic permutation functions, and the derangement function.

Installation

Installation can be done through pip. You must have python version >= 3.8

pip install complete-shuffle

Usage

The statement to import the package:

from complete_shuffle_package import *

Example:

>>> from gmpy2 import bit_mask as gmpy2_bit_mask
>>> prng_period = calculate_number_of_shuffles_required(12, 'prng_period')
>>> seed = 170141183460469231731687303715884105727 & gmpy2_bit_mask((prng_period - 1).bit_length())
#The entropy of the seed must not be less than the number of permutations in the list.(Calculate with "calculate_number_of_shuffles_required" function)

>>> sequence_list = list(range(12))
>>> pr_complete_shuffle(sequence_list, seed)
>>> sequence_list
[6, 0, 9, 11, 2, 1, 7, 5, 3, 10, 4, 8]

>>> sequence_list = list(range(12))
>>> pr_complete_cyclic_permutation(sequence_list, seed)
>>> sequence_list
[6, 11, 0, 9, 2, 1, 7, 5, 3, 10, 4, 8]

>>> sequence_list = list(range(12))
>>> pr_complete_derangement(sequence_list, seed)
>>> sequence_list
[6, 0, 9, 11, 2, 1, 7, 5, 3, 10, 4, 8]

Project details


Download files

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

Source Distribution

complete_shuffle-1.1.2.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

complete_shuffle-1.1.2-py3-none-any.whl (18.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page