如何用Python random函数生成含两个重复变量的10000长度随机列表?
解决Python生成指定长度双元素随机列表的问题
这里提供几种简单直接的实现方式,满足你生成长度为10000、仅包含两个指定变量随机重复的列表需求:
方法1:使用random.choices()(推荐,高效简洁)
random.choices()可以直接从指定序列中重复选取元素,通过k参数指定生成列表的长度。默认情况下两个元素的出现概率均等,也可以自定义概率权重。
示例代码:
import random # 定义你需要的两个变量,这里用'a'和'b'举例,可替换为任意值 var_a = 'a' var_b = 'b' # 生成长度为10000的随机列表 random_list = random.choices([var_a, var_b], k=10000) # 可以打印前几个元素查看效果 print(random_list[:10])
如果需要调整两个元素的出现概率,比如让var_a出现概率为70%,var_b为30%,只需要添加weights参数:
random_list = random.choices([var_a, var_b], weights=[0.7, 0.3], k=10000)
方法2:循环调用random.choice()
这种方式逻辑直观,适合理解基础用法,不过效率略低于random.choices():
import random var_a = 'a' var_b = 'b' random_list = [] for _ in range(10000): # 每次随机选一个元素添加到列表 random_list.append(random.choice([var_a, var_b]))
两种方法生成的列表都会符合你的需求:每次运行生成的序列都是随机的,元素仅在两个指定变量间重复。
内容的提问来源于stack exchange,提问作者i_am_trying
相关产品推荐
相关产品推荐

