import random
# list of n elements, going between a and b
list = [random.randint(a,b) for _ in range(n)]
print("list:", list)
"""Generation of unique random list of size n
"""
from random import sample
def unique_lst(n):
return sample(range(10, 100), n) # return a sample of lst (unique lst)
# print(unique_lst(10))
"""Generation of non-unique 1d_lst and 2d_lst
- Function takes in a list of info about the non-unique list
- You can also import randint from random.
- Note that randint is inclusive and randrange is exclusive.
- If you are looking to generate unique lsts...
...you might want to use random.sample() on a lst of numbers.
"""
from random import randrange
dft = [10, 10, 100, 10] # dft = default (range, low, high, row)
def rand_1d(info = dft[:-1]):
r, low, high = info # r: range
return [randrange(low, high) for num in range(r)]
def rand_2d(info = dft):
*info_1d, rows = info
return [rand_1d(info_1d) for i in range(rows)]
## Test
randlst_gen = {
"rand_1d": rand_1d,
"rand_2d": rand_2d
}
r1, r2 = randlst_gen.values() # get the functions
# #function 1
# print("rand_1d --------------------------------------------------")
# print(f"default: {r1()}")
# print(f"rand: {r1([5, 3, 234])}")
# print()
# # function 2
# print("rand_2d --------------------------------------------------")
# print("default:")
# for row in r2():
# print(row)
# print()
# print("rand:")
# for row in r2([8, 11, 30, 5]):
# print(row)