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

Python Shuffle List | Перетасовать колоду карт

Чтобы перетасовать список в Python, у нас есть встроенная функция, доступная в случайном модуле Python. С помощью функции shuffle() вы можете легко перетасовать список.

Автор оригинала: Team Python Pool.

Понятие тасовки в Python происходит от тасовки колоды карт. Тасовка-это процедура, используемая для рандомизации колоды игральных карт, чтобы обеспечить элемент случайности в карточных играх. Тасовка часто сопровождается сокращением, чтобы гарантировать, что тасовщик не манипулировал результатом. В Python shuffle list используется для получения полностью рандомизированного списка python.

Функция shuffle() может использоваться для перетасовки списка. Тасовка выполняется на месте, что означает, что список, предоставленный в качестве аргумента функции shuffle(), тасуется, а не тасуется копия создаваемого и возвращаемого списка.Мы можем тасовать список, как колоду карт, с помощью функции/метода shuffle (). Это перетасовывает список на месте. Другими словами, ему не нужно создавать новый список, чтобы поместить перетасованные элементы в один за другим.

Python Перемешивает список С помощью функции shuffle()

Функция shuffle() в модуле Python random может использоваться для перетасовки списка.

Перетасовка выполняется на месте, что означает, что список, предоставленный в качестве аргумента функции shuffle (), перетасовывается, а не перетасованная копия создаваемого и возвращаемого списка.

Метод shuffle() принимает последовательность (список, строку или кортеж) и реорганизует порядок элементов.

Синтаксис функции shuffle() для Python Shuffle List

random.shuffle(lst, function)

Параметры

  • lst − Обязательно. Последовательность. Это может быть список, кортеж или строка.
  • случайный − Необязательно. Имя функции, которая возвращает число от 0.0 до 1.0. Если не указано, то будет использоваться функция random().

Возвращаемое значение функции shuffle()

Этот метод возвращает перетасованный список.

Блок-схема функции shuffle() для списка случайного воспроизведения Python

Python Shuffle List Блок-схема shuffle()
Python Shuffle List Блок-схема shuffle()

Давайте перейдем к примерам.

Пример 1: Базовая программа Python для Python Shuffle List с помощью функции shuffle()

import random

countries=["India", "China", "USA", "UK", "France"]
random.shuffle(countries)

print(countries)

Выход:

['USA', 'France', 'China', 'UK', 'India']
пример python shuffle()
пример python shuffle()

Объяснение:

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

Пример 2: Перетасовка списка n n Количество раз С использованием цикла for и диапазона

Используя цикл for, мы можем перетасовать список любое количество раз, сколько захотим.

import random
mylist =['26','Python','Pool','is','Best','Way','To','Learn','Python']
for x in range(10):
    random.shuffle(mylist)
    print(mylist)

Выход:

['26', 'Way', 'is', 'Python', 'To', 'Python', 'Best', 'Pool', 'Learn']
['Pool', '26', 'To', 'Learn', 'Python', 'is', 'Best', 'Python', 'Way']
['26', 'is', 'Pool', 'Way', 'Python', 'To', 'Best', 'Learn', 'Python']
['26', 'Learn', 'Way', 'Pool', 'Best', 'is', 'Python', 'Python', 'To']
['Best', 'Way', 'Python', 'Pool', 'is', 'Learn', 'To', 'Python', '26']
['Python', 'Pool', 'Python', 'Learn', 'Way', 'Best', 'is', 'To', '26']
['Best', '26', 'Learn', 'To', 'is', 'Python', 'Pool', 'Python', 'Way']
['26', 'Python', 'Way', 'is', 'Python', 'To', 'Pool', 'Learn', 'Best']
['is', 'Best', '26', 'Python', 'Python', 'Learn', 'Way', 'Pool', 'To']
['26', 'Python', 'is', 'Pool', 'To', 'Learn', 'Way', 'Python', 'Best']

Объяснение:

В этом втором примере мы взяли список Python [’26’,’Python’,’Pool’,’is’,’Best’,’Way’,’To’,’Learn’,’Python’]. И мы хотим перетасовать этот список 10 раз. Итак, чтобы получить желаемый результат. Мы использовали Python для цикла с диапазоном 10 и инициализировали его. И внутри этого цикла for мы используем метод shuffle случайного модуля. Он будет делать перетасовку списка до тех пор, пока цикл продолжается.

Примечание:

Если вы хотите перетасовать список 20 раз. Вы должны просто изменить href=”https://en.wikipedia.org/wiki/Parameter”>параметр диапазона (20) функции до 20. href=”https://en.wikipedia.org/wiki/Parameter”>параметр диапазона (20) функции до 20.

Пример 3: Перетасовка двух списков Python одновременно в одном порядке

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

import random

country = ['India', 'China', 'USA', 'UK']
capital = ['New Delhi', 'Beijing', 'Washington DC', 'London']

print("Lists Before Shuffling")
print("List of Countries Names: ", country)
print("List of Capitals: ", capital)
(zip(country, capital))
random.shuffle(mapIndexPosition)
country,(*mapIndexPosition)

print("\nLists after Shuffling")
print("List of Countries Names: ", country)
print("List of Capitals: ", capital)

Выход:

Lists Before Shuffling
List of Countries Names:  ['India', 'China', 'USA', 'UK']
List of Capitals:  ['New Delhi', 'Beijing', 'Washington DC', 'London']

Lists after Shuffling
List of Countries Names:  ('UK', 'China', 'India', 'USA')
List of Capitals:  ('London', 'Beijing', 'New Delhi', 'Washington DC')

Пример 1: Базовая программа Python для Python shuffle list of lists

Другой действительно интересный вариант использования-это когда у вас есть вложенные структуры с аналогичными данными. В этом случае вы можете просто перебирать списки и применять функцию shuffle.Shuffling list of lists in python with loop. Это приведет к перетасовке не только первого уровня элементов списка, но и вложенных. Этот код работает только с двумя уровнями подсписков, но тот же подход может быть применен и для других уровней:

import random

mylist = [['a','b','c'],['d','e','f'],['g','h','i']]
random.shuffle(mylist)
for sublist in mylist:
    random.shuffle(sublist)
print(mylist)

Выход:

[['d', 'e', 'f'], ['c', 'b', 'a'], ['i', 'h', 'g']]

Как перетасовать колоду карт в Python

В этом разделе статьи вы научитесь тасовать колоду карт в Python. Использование случайного модуля функции shuffle ().

Код Python для перетасовки карт

# Python program to shuffle a deck of card

# importing modules
import itertools, random

# make a deck of cards(itertools.product(range(1,14),['Spade','Heart','Diamond','Club']))

# shuffle the cards
random.shuffle(deck)

# draw five cards
print("You got:")
for i in range(5):
   print(deck[i][0], "of", deck[i][1])

Выход:

You got:
10 of Diamond
8 of Heart
11 of Heart
10 of Spade
1 of Club

Пояснение:

Примечание: Запустите программу еще раз, чтобы перетасовать карты.

В программе мы использовали функцию product() в модуле itertools для создания колоды карт. Эта функция выполняет декартово произведение двух последовательностей.

Две последовательности-это числа от 1 до 13 и четыре масти. Итак, в общей сложности у нас есть 13 * предметов в колоде с каждой картой в виде кортежа. Например,

deck[0] = (1, 'Spade')

Наша колода упорядочена, поэтому мы тасуем ее с помощью функции shuffle() в модуле random.

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

Здесь мы использовали стандартные модули itertools и random, поставляемые с Python.

Должен Читать:

Как преобразовать строку в нижний регистр в PythonКак вычислить квадратный корень в PythonPython User Input | Python Input () Function | Keyboard InputЛучшая книга для изучения Python в 2020 годуPython Reverse List Using reverse() reversed() and Slicing

Вывод

Итак, в этой статье мы рассмотрели лучший способ Python Shuffle List. Есть много способов перетасовать список в Python, но мы выбрали shuffle(). Причина выбора функции Python shuffle() довольно проста. Он прост в использовании.2. Нам не нужно делать дополнительное кодирование. Он быстр и доступен во встроенном модуле

Итак, я надеюсь, что теперь вы полностью поняли, как перетасовать список в Python.Если у вас все еще есть какие-либо сомнения, дайте нам знать в разделе комментариев ниже.

Счастливого кодирования!