You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用random.choices输出带方括号,如何转为单个整数输出

问题根因

  • random.choices()方法未指定k参数时,默认返回长度为1的列表,直接打印就会出现带方括号的[0]这类格式
  • 你需要生成100个整数,需要显式给k参数传值100,不需要多次调用该方法

修正后代码

import random

a_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a_listDistribution = [0.5, 0.4, 0.0125, 0.0125, 0.0125, 0.0125, 0.0125, 0.0125, 0.0125, 0.0125]
# 生成100个符合概率分布的整数
att1Int = random.choices(a_list, weights=a_listDistribution, k=100)
# 把整数转成字符串后用逗号拼接再打印
print(','.join(map(str, att1Int)))

代码说明

  • 给random.choices()加k=100参数,一次生成100个符合概率要求的整数,返回的是长度为100的整数列表
  • 用map(str, att1Int)把列表里的所有整数转为字符串类型,再用','.join()把所有字符串用逗号拼接成完整的字符串,打印出来就是你要的0,0,1,0格式
  • 如果你坚持要循环单次生成逐个打印,也可以在调用random.choices()后取下标为0的元素:att1Int = random.choices(a_list, a_listDistribution)[0],再调整打印参数控制分隔符即可,不过该方案容易出现末尾多余逗号,更推荐上面的一次性生成方案。

内容的提问来源于stack exchange,提问作者NewToAllThisJazz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:09:02