繁体   English   中英

如何在Python中生成带有重复数字的随机列表

[英]How do I generate a random list in Python with duplicates numbers

所以几天前我才开始用Python编程。 现在,我试图制作一个生成随机列表的程序,然后选择重复元素。 问题是,我的列表中没有重复的数字。

这是我的代码:

import random

def generar_listas (numeros, rango):
    lista = [random.sample(range(numeros), rango)]
    print("\n", lista, sep="")
    return
def texto_1 ():
    texto = "Debes de establecer unos parámetros para generar dos listas aleatorias"
    print(texto)
    return

texto_1()
generar_listas(int(input("\nNumero maximo: ")), int(input("Longitud: ")))

例如,我为random.sample选择20和20,它将生成一个从0到20但处于随机位置的列表。 我想要一个带有随机数且重复的列表。

您想要的很简单。 您想生成一个包含一些重复项的随机数字列表。 如果您使用numpy之类的方法,则这样做很容易。

  • 生成一个0到10的列表(范围)。
  • 从该列表中随机抽样(替换)。

像这样:

import numpy as np
print np.random.choice(10, 10, replace=True)

结果:

[5 4 8 7 0 8 7 3 0 0]

如果要订购列表,请使用内置函数“ sorted(list)”

sorted([5 4 8 7 0 8 7 3 0 0])
[0 0 0 3 4 5 7 7 8 8]

如果您不想使用numpy,可以使用以下命令:

print [random.choice(range(10)) for i in range(10)]
[7, 3, 7, 4, 8, 0, 4, 0, 3, 7]

random.randrange是您想要的。

>>> [random.randrange(10) for i in range(5)]
[3, 2, 2, 5, 7]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM