Python如何向列表中追加100个互不相同的beta随机值
问题原因
原有代码仅在循环外计算了一次beta值,循环阶段只是重复追加同一个固定值到列表,因此所有元素完全一致。要得到100个不同的beta,需要把随机数生成、beta计算的逻辑放到循环内部,每次迭代重新计算。
修改后代码
import random gamma = 1/7 empty = [] for i in range(100): rand1 = random.uniform(1.5, 2.5) beta = rand1 * gamma empty.append(beta)
如果需要严格保证100个值完全不重复(默认随机生成浮点数的碰撞概率极低,常规场景无需额外处理),可以增加去重判断逻辑:
import random gamma = 1/7 empty = [] while len(empty) < 100: rand1 = random.uniform(1.5, 2.5) beta = rand1 * gamma if beta not in empty: empty.append(beta)
内容的提问来源于stack exchange,提问作者Landon
相关产品推荐
相关产品推荐

