Iterate randomly over integer ranges
Project description
Shuffled: Random iterators for large integer ranges
Shuffled is a library for iterating randomly and without repetition over integer ranges. It doesn't store all the integers in memory so that you can work with ranges of up to 2128 elements, even with your standard RAM available.
>>> shuffled_range = Shuffled(10)
>>> list(shuffled_range)
[4, 1, 2, 9, 8, 5, 3, 0, 6, 7]
>>> same_shuffled_range = Shuffled(10, seed=shuffled_range.seed)
>>> list(same_shuffled_range)
[4, 1, 2, 9, 8, 5, 3, 0, 6, 7]
>>> network = ipaddress.IPv4Network('10.0.0.0/8')
>>> shuffled_range = Shuffled(network.num_addresses)
>>> for index in shuffled_range:
... print(network[index])
...
10.24.41.126
10.67.199.15
10.240.82.199
10.79.219.74
10.166.105.25
10.19.5.91
[...]
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
shuffled-1.0.1.tar.gz
(4.4 kB
view hashes)