【发布时间】:2013-01-22 22:35:56
【问题描述】:
这是 python 文档中关于如何生成随机序列的简单代码,即当每个序列都有关联的权重时选择颜色。
我理解这个概念,但是当我尝试自己做时,我无法弄清楚列表理解在做什么。有人可以反复解释这个列表理解在做什么,这样我就可以更好地理解这段代码。谢谢。
weighted_choices = [('Red', 3), ('Blue', 2), ('Yellow', 1), ('Green', 4)]
population = [val for val, cnt in weighted_choices for i in range(cnt)]
random.choice(population)
'Green'
【问题讨论】:
-
嵌套列表推导的经验法则:按照它们在推导中出现的顺序展开 for 循环。
-
作为说明,我认为这不是进行加权随机选择的好方法。
标签: python list list-comprehension