python - 如何生成没有重复成员的随机列表?
问题描述
a=[]
from random import randint as rd
for i in range(42):
a.append(rd(1,42))
j=0
k=len(a)-1
while(j<=k):
while(a[i]==a[j]):
a[i]=rd(1,42)
j=0
j=j+1
我无法弄清楚如何在 python 中生成完全唯一的随机列表。所有成员都必须是唯一的,并且不能以任何方式与列表中的任何其他成员相同
解决方案
尝试这个:
import random
random.sample(range(100), 10)
In [1715]: random.sample(range(100), 10)
Out[1715]: [66, 48, 97, 5, 39, 67, 78, 96, 71, 19]
In [1716]: random.sample(range(100), 10)
Out[1716]: [50, 89, 60, 69, 81, 86, 27, 94, 4, 62]
这将生成一个包含 0 到 99 范围内的 10 个随机数的列表,没有重复。
推荐阅读
- django - 自定义用户管理器:仅填充必填字段
- neural-network - 将网络输出作为另一个网络参数
- dynamics-crm - 无法隐藏/抑制 OOB 模型驱动的应用程序(客户服务中心、销售中心等)
- javascript - Javascript算法最大子数组
- python - 如何根据特定列的值从 CSV 文件中选择值
- java - 检查我们是否可以从源头到目的地
- python - 如何使用 AppleScript 向自己发送 iMessage 并获得通知
- angular - ng serve 不再有效。找不到模块
- python-3.x - Python 3.X 名称错误
- java - BigInteger modPow 与 BigDecimal 指数