我有两个列表和一个号码。 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)
中的值。我可以编写一个包含多个函数的长代码来完成这项工作。我想知道有没有简洁的方法呢?
答案 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)])