Random Set
from random import randrange
def rand_set(nums, n):
if n > len(nums):
raise ValueError("Cannot extract that many elements")
else:
rand_elements = []
back_iter = len(nums)
for i in range(0, n):
# generate a random index between 0 and the length of the list
# decrement by 1 every time to ignore elements moved to the back
rand_i = randrange(0, back_iter)
rand_n = nums[rand_i]
# add the result, and move it to the end of the list
rand_elements.append(rand_n)
nums[rand_i], nums[back_iter - 1] = nums[back_iter - 1], nums[rand_i]
back_iter -= 1
return rand_elements
nums = [0, 3, 6789, 6, 7, 8, 9, 34, 43, 45, 567, 56, 65, 46789, 78, 978, 83, 89, 90, 6878, 7654, 245, 765]
for i in range(0, len(nums)):
print(rand_set(nums, i))Last updated