Python | Виберіть випадкове значення зі списку
Дано список і наше завдання полягає в випадковому виборі елементів зі списку в Python за допомогою різних функцій. Вибір випадкових чисел зі списку іноді можна використовувати під час створення ігор, вибору випадкового діапазону тощо.
приклад
Input: [2, 3, 4 , 5, 6 ] Output: 2 Explaination: The output we are getting is a random value from the input list
Виберіть випадкове значення зі списку
Нижче наведено методи, які ми розглянемо в цій статті.
- Використання random.choice()
- Використання random.randrange()
- Використання random.randint()
- Використання random.random()
- Використання random.sample()
- Використання random.choices()
- Використання numpy.random.choice()
- Виберіть k випадкове значення зі списку
Виберіть випадкове значення зі списку за допомогою random.choice()
Це random.choice() Функція призначена для отримання випадкової вибірки зі списку в Python і, отже, це найпоширеніший метод для вирішення цього завдання – вибірка випадкового числа з a список .
Python3
import> random> # initializing list> test_list> => [> 1> ,> 4> ,> 5> ,> 2> ,> 7> ]> # printing original list> print> (> 'Original list is : '> +> str> (test_list))> # using random.choice() to> # get a random number> random_num> => random.choice(test_list)> # printing random number> print> (> 'Random selected number is : '> +> str> (random_num))> |
Вихід:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 1
Виберіть випадкове значення зі списку за допомогою random.randrange()
The random.randrange() метод використовується для генерації випадкового числа в заданому діапазоні, ми можемо вказати діапазон 0 до довжини списку та отримати індекс, а потім відповідне значення.
Python3
import> random> # initializing list> test_list> => [> 1> ,> 4> ,> 5> ,> 2> ,> 7> ]> # printing original list> print> (> 'Original list is : '> +> str> (test_list))> # using random.randrange() to> # get a random number> rand_idx> => random.randrange(> len> (test_list))> random_num> => test_list[rand_idx]> # printing random number> print> (> 'Random selected number is : '> +> str> (random_num))> |
Вихід:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7
Виберіть випадкове значення зі списку за допомогою random.randint()
The random.randint() використовується для генерації випадкового числа, також це може бути використано для генерації будь-якого числа в діапазоні, а потім, використовуючи це число, ми можемо знайти значення за відповідним індексом, як і вищезгадана техніка. Але він відрізняється тим, що вимагає 2 обов'язкових аргументи для діапазону.
Python3
import> random> # initializing list> test_list> => [> 1> ,> 4> ,> 5> ,> 2> ,> 7> ]> # printing original list> print> (> 'Original list is : '> +> str> (test_list))> # using random.randint() to> # get a random number> rand_idx> => random.randint(> 0> ,> len> (test_list)> -> 1> )> random_num> => test_list[rand_idx]> # printing random number> print> (> 'Random selected number is : '> +> str> (random_num))> |
Вихід:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 4
Виберіть випадкове значення зі списку за допомогою random.random()
The random.random() метод генерує числа з плаваючою комою в діапазоні від 0 до 1. Ми також можемо отримати значення індексу списку за допомогою цієї функції, помноживши результат і потім привівши його до цілого числа, щоб отримати цілий індекс, а потім відповідний значення списку.
Python3
import> random> # initializing list> test_list> => [> 1> ,> 4> ,> 5> ,> 2> ,> 7> ]> # printing original list> print> (> 'Original list is : '> +> str> (test_list))> # using random.random() to> # get a random number> rand_idx> => int> (random.random()> *> len> (test_list))> random_num> => test_list[rand_idx]> # printing random number> print> (> 'Random selected number is : '> +> str> (random_num))> |
Вихід:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7
Виберіть випадкове значення зі списку за допомогою random.sample()
Python має вбудовану функцію під назвою random.sample(). Модуль random містить функцію random.sample(). Він має можливість вибрати кілька елементів зі списку.
Python3
import> random> test_list> => [> 1> ,> 4> ,> 5> ,> 2> ,> 7> ]> print> (> 'Original list is : '> +> str> (test_list))> print> (> 'Random element is :'> , random.sample(test_list,> 5> ))> |
Вихід:
Original list is : [1, 4, 5, 2, 7] Random element is : [7, 4, 1, 5, 2]
Виберіть випадкове значення зі списку за допомогою random.choices()
The випадковий.вибір функція зберігається в випадковому модулі(). Вибір багатьох елементів зі списку або окремого елемента з певної послідовності зручний за допомогою функції random.choices.
Python3
import> random> test_list> => [> 11> ,> 44> ,> 55> ,> 22> ,> 77> ]> print> (> 'Original list is : '> +> str> (test_list))> print> (> 'Random element is :'> , random.choices(test_list, k> => 4> ))> |
Вихід:
the t is : [11, 44, 55, 22, 77] Random element is : [11, 11, 44, 77]
Виберіть випадкове значення зі списку за допомогою numpy.random.choice()
The numpy.random.choice() Метод використовується для отримання випадкової вибірки з масиву в numpy. Також можна створити випадкову вибірку зі списку, перетворивши список на a numpy масив.
Імпортуйте numpy та ініціалізуйте список. Перетворіть список на a numpy масив. Використовуйте метод numpy.random.choice(), щоб вибрати випадкове значення з масиву. Роздрукувати вибране значення.
Примітка: Встановіть numpy за допомогою pip install numpy
Python3
import> numpy as np> # Initializing list> test_list> => [> 2> ,> 3> ,> 4> ,> 5> ,> 6> ]> # Converting list to numpy array> test_array> => np.array(test_list)> # Using numpy.random.choice() to get a random number> random_num> => np.random.choice(test_array)> # Printing the random number> print> (> 'Random selected number is : '> +> str> (random_num))> |
Вихід:
Random selected number is : 5
Часова складність: Часова складність numpy.random.choice() метод дорівнює O(k), де k — розмір вибірки, яку потрібно створити.
Космічна складність: Космічна складність numpy.random.choice() Метод дорівнює O(n), де n – розмір масиву.
Виберіть k випадкове значення зі списку
Тут ми згрупували всі елементи в пару розмірів k.
Python3
import> random> def> select_random_Ns(l, k):> > random.shuffle(l)> > res> => []> > for> i> in> range> (> 0> ,> len> (l), k):> > res.append(l[i:i> +> k])> > return> res> > l> => [> 'G'> ,> 'E'> ,> 'E'> ,> 'K'> ,> 'S'> ,> 'F'> ,> 'O'> ,> 'R'> ,> 'G'> ,> 'E'> ,> 'E'> ,> 'K'> ,> 'S'> ]> print> (select_random_Ns(l,> 3> ))> |
Вихід:
[['G', 'G', 'R'], ['K', 'K', 'E'], ['O', 'F', 'E'], ['S', 'E', 'S'], ['E']]