如何根据其他列表中的值从列表中随机选择多个值?

时间:2015-07-23 16:31:52

标签: python list max

我有两个列表和一个号码。 list val是一个数值列表(可以有重复值),

val = [3,2,5,6,1,6]

list pair是配对值列表(不能有重复值)

pair = [(1,3),(3,2),(7,3),(6,5),(3,4),(5,7)]

两个列表具有相同的长度,即len(val) = len(pair)。该数字是一个数字值,例如num=4

任务是查找列表val中是否有任何值大于或等于num,如果是,找出所有最大值并随机从{中选择一个具有相同索引的值{1}}。对于上面的示例,结果应随机选择pair(6,5)中的值。我可以编写一个包含多个函数的长代码来完成这项工作。我想知道有没有简洁的方法呢?

1 个答案:

答案 0 :(得分:0)

HomeworkOverflow代码编写服务的早上好,这里是请求代码:

num = 4
val = [3,2,5,6,1,6]
pair = [(1,3),(3,2),(7,3),(6,5),(3,4),(5,7)]

import random
print random.choice([random.choice(pair[v]) for v in range(len(val)) if val[v] == max(val)])