Как назначить список команд списку пользователей случайным образом в python

Например:

Команда Пользователь США Отметка Англия Шон Индия Шри

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
79
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете использовать shuffle для перемешивания списка пользователей;

from random import shuffle
teams = ['USA', 'England', 'India']
users = ['Mark', 'Sean', 'Sri']
shuffle(users)
print([(t,u) for t,u in zip(teams, users)])

Чтобы назначить игроку несколько команд, вы можете использовать iter(), чтобы убедиться, что нет дубликатов.

from random import shuffle
teams = ['USA', 'England', 'India','France', 'Brazil', 'Australia']
users = ['Mark', 'Sean', 'Sri']
shuffle(teams)
teams_iter = iter(teams)
print([(u,(t1,t2)) for u,t1,t2 in zip(users, teams_iter, teams_iter )])

Круто! Большое спасибо за быстрый ответ, только еще один вопрос: как назначить две команды из списка команд каждому пользователю из списка пользователей, не имея дублирующих команд, я имею в виду уникальные команды для пользователя.

Sriram Varma 23.11.2022 02:03

Шри - США, ИНДИЯ, Марк - Бразилия, Франция, Себ - Германия, Австралия

Sriram Varma 23.11.2022 02:07

Я отредактирую свой ответ, чтобы включить это тоже.

bn_ln 23.11.2022 02:13

В случайном модуле используйте выбор

from random import choice
choice(['USA','England','India'])
'India'

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

df.apply (lambda x: choice(['USA','England','India']))

Вот возможное решение

from random import randrange

User = ['Mark', 'Sean', 'Sri']
Team = ['USA', 'England', 'India']
_range = len(User)

new_list  = []

while len(new_list) != _range:
  try:
    rr = randrange( len(Team) );
    new_list.append( [Team.pop(), User.pop( rr ) ] )
  except:
    ""

print(new_list)

Другие вопросы по теме