0
votes

Remplacer les éléments aléatoires dans la liste par des valeurs aléatoires dans Python

J'ai l'ensemble de valeurs suivant stocké dans une liste.

original list   :  [0.5, 0.8, 1.1, 2.5, 7.2, -1]
random list 1   :  [0.5, 0.2, 1.4, 4.5, 6.2, -0.5]
random list 2   :  [5.3, 0.3, 0.7, 2.3, 4.2, -0.1]
....
random list 100 :  [0.5, 0.9, 1.1, 2,1, 6.5, -1]


1 commentaires

Il y a beaucoup de façons différentes de le faire et sans connaître le cas d'utilisation, il sera tourné dans le noir: vous pouvez choisir au hasard 1 élément et choisir de manière aléatoire 100 chiffres entre Min & Max pour construire de nouvelles listes avec un seul élément modifié. Qui convient à l'invite mais ne génère probablement pas le hasard que vous recherchez ... pouvez-vous Modifier Votre question à clarifier ce que l'intention est?


3 Réponses :


1
votes
smallest = min(original_list)
largest = max(original_list)

newlist1 = [random.uniform(smallest, largest) for _ in range(len(original_list))]
newlist2 = [random.uniform(smallest, largest) for _ in range(len(original_list))]
# and so on

0 commentaires

1
votes

Utilisation de la compréhension de la liste et Numpy. aléatoire.uniforme : xxx

et vous obtenez res qui est une liste des listes 100 (avec Taille len (Orig) ) de nombres uniformément distribués sur [min (orig], max (orig]) .


0 commentaires

1
votes

Sous le code imprime ce dont vous avez besoin comme sortie. D'abord, vous devez trouver les numéros max et min dans la liste d'origine, puis vous devez utiliser une bibliothèque aléatoire et une fonction aléatoire.uniforme () pour obtenir ce dont vous avez besoin. XXX


1 commentaires

Il vaut la peine de noter que pas garantit unicité de la liste générée. La liste d'exemples a ~ 377 m des résultats possibles arrondis à des dixièmes, mais il y a une chance de collision.