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 details)

Uploaded Source

Built Distribution

randiter-0.1.0-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file randiter-0.1.0.tar.gz.

File metadata

  • Download URL: randiter-0.1.0.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.7 Darwin/20.6.0

File hashes

Hashes for randiter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1489ed1aa4db99cd83466c81b75e954537a8a2e056da7d1da393ac67a65f49b8
MD5 73115622c5194f74a7954eb3632419b4
BLAKE2b-256 b911572066f6db2acb4adf4b023ac28942b0543e589b5c7d73cdb37d3f44956b

See more details on using hashes here.

File details

Details for the file randiter-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: randiter-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.7 Darwin/20.6.0

File hashes

Hashes for randiter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08ec0fca4e8f69ca65a257ccab6e873c2417253beb05b0a36836033bf49d626b
MD5 7a727922e8e32f480539aa95a87782c4
BLAKE2b-256 8d38bafad4a16e9508f7cdfe6af67b4f204d9ef5615555f738a7233a6a32bc43

See more details on using hashes here.

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