Рубрики
Без рубрики

# День 22 – чит -лист для случайного модуля в Python

Случайный модуль является довольно популярным модулем в Python. Его наиболее распространенное использование – генерировать случайный int … Tagged с 100daysOfCode, Codenewbie, Python, Programming.

Случайный модуль является довольно популярным модулем в 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”