首页 > 解决方案 > Python - 从数组中选择随机名称而不重复,直到全部选择

问题描述

我刚开始学习 Python,所以如果这很简单,我很抱歉。我想从一组名称中生成一个随机名称,然后在选择所有名称并重新开始之前不再重复该名称。下面的代码是我已经拥有的,这会生成随机名称,但正在发生重复。

import random

employee = ["adam", "Scott", "Michael", "Andrew", "Mark", "Fernando", "Faith", "Steve", "Lee", "Amani", "Liv", "Nick A", "James", "Jake", "Brett", "Graham", "Fraser", "Jacob", "Chelsea", "Phil", "George", "Charley", "Emma", "Steph"]
print(random.choice(employee))

标签: pythonarraysrandomrepeat

解决方案


两件事之一应该工作,非常相似:

(一)制作清单复印件;从副本中选择项目。每次选择一个项目时,将其从列表中删除。当您清空列表时,制作一个新副本并继续。

(2) 使用来自 itertools 的改组操作为您提供列表的随机排列。遍历那个。当你走到尽头时,得到一个新的随机排列。


推荐阅读