Случайный модуль является довольно популярным модулем в Python. Его наиболее распространенное использование – генерировать случайные целые числа. Тем не менее, он имеет различные другие варианты использования. Мы обсудим некоторые из них ниже
- Случайный()
- Семя
- Генерирование случайного целого числа
- Генерирование случайного множества целого числа
- Выбор случайного элемента из итерабильного
- Перетасовать список
- Выберите n случайных элементов из итерационных
- Генерировать случайный GUID
Чтобы использовать любую из приведенных ниже функций, нам сначала необходимо импортировать случайный модуль. Это встроенный модуль в Python
Случайный()
Это используется для создания случайной плавающей температуры от 0 до 1
import random for _ in range(5): print(random.random()) ''' OUTPUT 0.49871134487223123 0.06941111334065919 0.02980186878132185 0.06790566062222614 0.6563380053516832 '''
Семя
Мы можем установить семя для случайного модуля. Хотя целое число, плавание, элемент из списка будет случайным. Во время каждого запуска это будет одинаковое случайное значение. Однако, если вы используете случайный модуль несколько раз в программе, он вернет другое случайное значение для каждого вызова.
random.seed(12)
Генерирование случайного целого числа
Это, вероятно, самый популярный случай использования случайного модуля.
import random for _ in range(5): print(random.randint(0,20)) ''' OUTPUT 8 13 4 5 20 '''
Первым аргументом является начальный номер, а второй аргумент – конечный номер. Это включено, то есть randint () может также вернуть начальный номер или конечный номер
Генерирование случайного множества целого числа
Предположим, мы хотим генерировать случайное кратное 10. Есть 2 способа сделать это
Метод 1
Мы используем функцию randint () и просто умножаем возвращенное значение на 10
import random for _ in range(5): print(random.randint(0,20)*10) ''' OUTPUT 130 20 170 100 200 '''
Метод 2
Мы можем использовать RandRange (). Мы можем настроить начальный номер и конечный номер по мере необходимости. Это похоже на функцию randint (), но она занимает дополнительный параметр. Это требует размера шага. Поэтому, если мы установим размер шага на 10, он случайно выберет (0,10,20,30 …..)
import random for _ in range(5): print(random.randrange(0,100,10)) ''' OUTPUT 130 20 170 100 200 '''
Выбор случайного элемента из итерабильного
Мы можем использовать случайную библиотеку, чтобы выбрать случайный элемент из итерабильного. Примечание. Он будет работать только с словарями только в том случае, если в словаре есть целое число в качестве ключа. Читайте ниже, чтобы узнать Зачем
import random lst = ["hello" , "world" , "!!!" , "Python" , "Medium" , "Hashnod" , "Twitter"] tpl = ("hello" , "world" , "!!!" , "Python" , "Medium" , "Hashnod" , "Twitter") dictionary = {idx: val for idx,val in enumerate(lst)} print(random.choice(lst)) print(random.choice(tpl)) print(random.choice(dictionary)) ''' OUTPUT world Hashnod Medium '''
То, как это работает, – это следующее
- Первый случайный генерирует случайное целое число между 0 и Леном (итерабильно)
- Он использовал сгенерированное целое число в качестве индекса и возвращает Ierabel [Index] в результате этого, он работает только с словарными.
Перетасовать список
Мы можем использовать функцию shuffle (), чтобы перетасовать список. Функция не может использоваться с не обдуманным объектом, таким как кортеж. Это метод на месте, то есть он обновляет исходный список.
import random lst = ["hello" , "world" , "!!!" , "Python" , "Medium"] for _ in range(5): random.shuffle(lst) print(lst) ''' OUTPUT ['hello', 'Medium', 'world', 'Python', '!!!'] ['world', 'hello', 'Medium', 'Python', '!!!'] ['!!!', 'world', 'hello', 'Python', 'Medium'] ['Python', 'Medium', '!!!', 'hello', 'world'] ['!!!', 'hello', 'Medium', 'world', 'Python'] '''
Выберите n случайных элементов из итерационных
Это похоже на вызов функции Choice () в цикл и раз. Хотя этот метод не работает с словарями, независимо от того, имеют ли они целые числа в качестве ключей или нет
import random lst = ["hello" , "world" , "!!!" , "Python" , "Medium" , "Hashnod" , "Twitter"] tpl = ("hello" , "world" , "!!!" , "Python" , "Medium" , "Hashnod" , "Twitter") dictionary = {idx: val for idx,val in enumerate(lst)} print(random.sample(lst,3)) print(random.sample(tpl,3)) ''' OUTPUT ['!!!', 'Twitter', 'Medium'] ['Hashnod', 'Python', '!!!'] '''
Генерировать случайный GUID
Мы больше не будем использовать случайный модуль, вместо этого мы будем использовать модуль UUID
import uuid print(str(uuid.uuid4())) print(len(str(uuid.uuid4()))) ''' OUTPUT 6dc2ad9b-2707-45ba-b5e8-5e2eb8a1dfe9 36 '''
uuid4 () возвращает объект типа uuid, но мы можем использовать str () для типирования его. По умолчанию он создает 32 строку символов. Мы можем использовать строковые операции для изменения GUID.
import uuid print(str(uuid.uuid4())[0:16]) print(len(str(uuid.uuid4())[0:16])) ''' OUTPUT 4bde04c7-d749-40 16 '''
Приведенный выше код генерирует 16 символов.
Оригинал: “https://dev.to/rahulbanerjee99/day22-cheatsheet-for-the-random-module-in-python-36o”