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

Как перебраться в список в Python

Смешайте список со случайным случайным модулем Python, который реализует псевдолупирный номер … Tagged с Python.

Перетасовать список со случайным

случайный это Модуль Python Это реализует генераторы псевдолудоров. random.shuffle может перетасовать список на месте.

random.shuffle(x[, random]): Shuffle the sequence x in place.

The optional argument random is a 0-argument function returning 
a random float in [0.0, 1.0); by default, this is the function random().

Давайте запустим простой пример использования. Из вывода мы видим, что список изменяется после перетаскивания, это называется на месте Стратегия:

import random
numbers = [71, 1, 21, 22, 35, 41, 49, 56, 63, 70]
print ("Original: ", numbers)
> ('Original: ', [71, 1, 21, 22, 35, 41, 49, 56, 63, 70])

random.shuffle(numbers) #shuffle method
print ("Shuffled: ", numbers)
> ('Shuffled: ', [49, 22, 63, 70, 56, 21, 1, 71, 41, 35])

Мы также можем использовать random.shuffle () Чтобы перетасовать список с струнами.

a = ["hello", "coder", "cat"]
random.shuffle(a)
print(a)
> ['coder', 'hello', 'cat']

Перетасовать список с не на месте

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

Это называется Не на месте Стратегия:

import random
numbers = [71, 1, 21, 22, 35, 41, 49, 56, 63, 70]
new_numbers = random.sample(numbers, len(numbers))
print ("new_numbers: ", new_numbers)
> ('new_numbers: ', [56, 35, 49, 41, 71, 70, 22, 63, 1, 21])

Реализуйте это самостоятельно

Вызов:

Реализуйте функцию Python, которая перетащит список, верните новый список.

Если это вопрос интервью, можете ли вы закончить его без ошибок за 15 минут?

Попробуй сейчас ,)

Простой алгоритм для массива или списка перетасовки – это Фишер-Йейтс :

from copy import deepcopy
from random import randint

def shuffle(lst):
    tmp = deepcopy(lst)
    m = len(tmp)
    while(m):
        m -= 1
        i = randint(0, m)
        tmp[m], tmp[i] = tmp[i], tmp[m]
    return tmp

foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]

Пост Как перетащить список в Python появился первым на Coderscat Анкет

Оригинал: “https://dev.to/snj/how-to-shuffle-a-list-in-python-3gi5”