所以几天前我才开始用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)
Result:
[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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)