如何在python中将一个团队列表随机分配给一个用户列表



例如:

<表类> 团队 用户 tbody><<tr>美国标记英国肖恩印度Sri

您可以使用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 )])

在随机模块中使用choice

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

对于用户数据帧,您可以使用lambda为每个用户获得随机选择:

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)

相关内容

最新更新