使用Python,我想从列表中随机选择一个人,并将它们分成5个组,而不会多次选择同一个人。人们被定义为2个标准:年龄和性别。人名单如下:从列表中选择随机值,直到它们在Python中消失
PPL = [1,4,6],[2,5,5],[3,7,3],[4,2,8],[5,4 ,6]
其中每个列表中的3个数字代表:年龄类别(1-5),男性数量,女性数量。 我意识到5的分组并不是真的很重要,因为我所要做的只是创建一个随机列表(然后我可以一次数数5),但是我不确定如何创建一个没有列表的随机列表重复使用人。有什么建议么?
我已经开始用下面的(这真的只是打印剩余的男性和女性):
import random
PPL = [1, 4, 6], [2, 5, 5], [3, 7, 3], [4, 2, 8], [5, 4, 6]
age = range(0, 6)
gender = [1, 2]#1 = male, #2 = female
randomAge = random.choice(age)
randomGender = random.choice(gender)
count = 0
PPLcounter = 0
for P in PPL:
while P[randomGender] > 0:
PPL[PPLcounter][randomGender] = P[randomGender] - 1
MRemaining = PPL [PPLcounter][1]
FRemaining = PPL [PPLcounter][2]
count = count+1
print count, MRemaining, FRemaining
PPLcounter += 1
我不理解问题。你不能在'PPL'上使用'random.shuffle',然后遍历列表?那将是随机的。 – 2013-04-07 02:42:10
正确。我同意@JoelCornett你可以弹出每次只是为了确保不再获得相同的元素 – karthikr 2013-04-07 02:43:42
我很困惑,随机人员列表应该包含什么。 – ecline6 2013-04-07 02:59:28