Skip to main content

Randomly iterate a sequence with buffered shuffling

Project description

randiter

randiter randomly iterates a sequence with buffered shuffling. randiter is suitable for shuffling very long sequences and sequences with an unknown length.

Usage

Shuffle a very long sequence:

from randiter import randiter

for index in randiter(range(1_000_000_000)):
    print(index)  # random number

Shuffle lines in a text file with an unknown length:

from randiter import randiter

with open("large.txt", "rt") as f:
    for line in randiter(f):
        print(line)  # random line

Shuffle a sequence with a large buffer size (to perform perfect shuffling, specify a buffer size that is equal to or greater than the length of the given sequence):

from randiter import randiter

for index in randiter(range(1_000_000_000), buffer_size=1_000_000):
    print(index)  # random number

FAQ

  • Q. Shuffled sequences are not completely shuffled.
    • A. This is because randiter performs buffered shuffling. This problem can be mitigated by specifying a larger buffer size.

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

randiter-0.1.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

randiter-0.1.0-py3-none-any.whl (3.0 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