Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
3096

Перемешивание списка объектов в Python

Часто возникает ситуация, когда необходимо перемешать список объектов в Python. Примером может служить список игральных карт, которые нужно перемешать

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Часто возникает ситуация, когда необходимо перемешать список объектов в Python. Примером может служить список игральных карт, которые нужно перемешать перед началом игры.

В Python для этого есть встроенная функция random.shuffle(). Эта функция принимает список в качестве аргумента и перемешивает его «на месте», то есть изменяет исходный список, вместо создания нового.

Пример использования функции random.shuffle():

import random

a = [1, 2, 3, 4, 5]
random.shuffle(a)

print(a)

Однако при использовании функции random.shuffle() возникает особенность, которую нужно знать. Эта функция не возвращает новый перемешанный список, а возвращает None. Это означает, что нельзя присваивать результат функции переменной и ожидать, что в этой переменной будет перемешанный список.

Отсюда следует, что неверно будет такое использование функции:

import random

a = [1, 2, 3, 4, 5]
b = random.shuffle(a)

print(b)

В данном случае переменная b будет равна None, так как функция random.shuffle() ничего не возвращает. Правильно будет сначала перемешать список с помощью random.shuffle(), а затем уже работать с этим списком:

import random

a = [1, 2, 3, 4, 5]
random.shuffle(a)

print(a)

Таким образом, функция random.shuffle() позволяет удобно и быстро перемешать список объектов в Python, но при этом нужно помнить о том, что она не возвращает перемешанный список, а изменяет исходный.

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий