@WITCH_ink

Как из списка выбрать случайный элемент, но чтобы он не повторялся?

Допустим у меня есть список
str_list = ["123", "eisdesn", "sjs38", "sjsklek"]
Как случайно выбирать из него значение, но при этом, чтобы оно не повторялось до тех пор, пока все элементы списка не будут выбраны по 1 разу.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
adugin
@adugin Куратор тега Python
Перемешайте список с помощью random.shuffle() и выбирайте элементы последовательно.
Ответ написан
SoreMix
@SoreMix
yellow
Выбираете случайный элемент. Смотрите, не повторяется ли он.

import random
str_list = ["123", "eisdesn", "sjs38", "sjsklek"]

used = []

while len(used) != len(str_list):
    el = random.choice(str_list)
    if el not in used:
        print(el)
        used.append(el)


Либо
import random
str_list = ["123", "eisdesn", "sjs38", "sjsklek"]
for _ in range(len(str_list)):
    print(str_list.pop(random.randint(0, len(str_list)-1)))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 80 000 до 200 000 ₽
AIR Production Москва
от 170 000 до 200 000 ₽
от 2 500 до 4 000 $
25 нояб. 2020, в 19:58
35000 руб./за проект
25 нояб. 2020, в 19:13
1000 руб./в час
25 нояб. 2020, в 18:34
100000 руб./за проект