Как заполнить массив случайными числами в Python

Массив — одна из основных структур данных в Python. Его элементы хранятся в одном месте и к ним можно получить доступ по индексу. Для реализации такой структуры данных используется библиотека numpy. Также имитировать массив в Python может встроенный тип данных список (list). В данной статье мы обсудим, как заполнить массив случайными числами.

БЕСПЛАТНО СКАЧАТЬ КНИГИ по Python на русском языке можно у нас в телеграм канале "Python книги на русском"

Мы всегда можем создать массив любой размерности и иногда, для некоторых вычислений, его нужно заполнить произвольными значениями. Для этого в библиотеке numpy реализован модуль random, который генерирует случайные числа.

Как заполнить массив случайными числами при помощи функции numpy.random.randint()

Как уже говорилось ранее, в библиотеке numpy есть модуль random, который может помочь в генерации случайных чисел для массивов numpy. При помощи функции randint() можно сгенерировать массив нужного размера и заполнить его случайными числами.

Нам нужно запомнить три основных параметра, которые принимает данная функция. Первые два являются предельными значениями для случайных чисел. Функция будет выбирать случайное число именно из этого диапазона. Третий параметр определяет форму требуемого массива.

Рассмотрим пример:

import numpy as np
arr = np.random.randint(0,10,10)
print(*arr) 

# Результат:
# 3 8 1 0 4 2 4 7 0 3

В данном примере мы сгенерировали 10 случайных чисел и заполнили ими одномерный массив длиной 10.

Как заполнить массив случайными числами при помощи функции numpy.random.Generator.integers()

Функция numpy.random.Generators предлагает альтернативный способ генерации случайных чисел. Она использует дополнительный BitGenerator для создания случайных битов и управления их состоянием. Для его инициации используется конструктор numpy.random.default_rng().

После этого мы можем использовать функцию numpy.random.Generator.integers() для генерации случайных целых чисел и заполнения ими массива в Python.

Как и в предыдущем случае, нам нужно будет задать параметры диапазона и формы массива.

Пример:

import numpy as np
g = np.random.default_rng()
arr = g.integers(0,5,10)
print(arr)

# Результат:
# [0 2 1 1 1 0 1 1 3 0]

Заполнение массива случайными числами при помощи функции random.randint()

Как говорилось ранее, списки в Python также могут представлять собой массив. Мы можем заполнить списки случайными числами, используя модуль random в Python. Для этого мы будем использовать генератор списков вместе с функцией random.randint().

Мы применим функцию random.randint() для создания случайного числа в заданном диапазоне, а генератор списков будет вызывать ее нужное количество раз, производя список заданной длинны.

import random
arr = [random.randint(1,5) for _ in range(10)]
print(arr)

# Результат:
# [4, 2, 5, 3, 2, 2, 3, 3, 4, 2]

Заключение

В данной статье мы разобрали различные методы заполнения массива случайными числами в Python. По сути, мы создавали массивы со случайными числами. Для этого мы использовали массивы numpy и списки Python.

Для массивов numpy мы рассмотрели два способа заполнения. В первом случае использовалась традиционная функция numpy.random.randint(), которая генерирует массив numpy заданной длины, заполненный случайными числами в заданном диапазоне. А во втором случае мы использовали относительно новый модуль numpy.random.Generators, который обеспечивает дополнительное состояние для управления и генерации случайных битов.

В последнем примере мы разобрали, как в Python заполнить массив случайными числами при помощи генератора списков и функции random.randint(). По сути мы создали цикл, который вызывал функцию random.randint() нужное количество раз, генерируя при этом случайное число и добавляя его в список Python.

Перевод статьи “Fill Array with Random Numbers in Python”.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *