Python从列表随机选元素问题:如何将获取一个改为获取两个?
修改方法:获取列表中两个随机元素
根据你的需求,分两种场景给出修改方案:
1. 想要两个不重复的随机元素
用random.sample()方法,它可以从列表中提取指定数量的不重复随机元素,返回结果是列表:
import random puntos = ['Norte' , 'Sur' ,'Este' , 'Oeste'] res = random.sample(puntos, k=2) # 第二个参数k指定要获取的元素数量 print(res)
输出示例:['Sur', 'Este'](每次运行结果随机)
2. 允许重复选取同一个元素(比如可能两次都选到'Norte')
用random.choices()方法,通过k参数指定数量,返回结果也是列表,和你注释里提到的特性一致:
import random puntos = ['Norte' , 'Sur' ,'Este' , 'Oeste'] res = random.choices(puntos, k=2) # k=2表示获取2个元素 print(res)
输出示例:['Norte', 'Norte'](可能出现重复元素)
如果想把结果像random.choice()那样以非列表形式打印,可以用print(', '.join(res)),输出会变成Sur, Este这种格式。
内容的提问来源于stack exchange,提问作者Wolfie
相关产品推荐
相关产品推荐

