Excuses si cela est simple, mais j'ai cherché un peu de temps maintenant et ne peux pas trouver une solution simple et efficace.Renvoi d'un élément aléatoire à partir d'un tableau Python basé sur des critères de recherche
J'ai une liste Python bidimensionnelle de listes qui ne comprend que des 1 et des 0.
par exemple:
a=[[0,1,0],[0,1,1],[1,0,1]]
Je voudrais revenir, au hasard, les indices d'un élément aléatoire qui est = 1. Dans ce cas, je voudrais revenir soit:
[0,1], [1,1], [1,2], [2,0], or [2,2]
avec une probabilité égale.
Je pourrais parcourir tous les éléments de la structure et compiler une liste d'indices admissibles, puis en choisir un au hasard en utilisant random.choice (liste) - mais cela semble très lent et je ne peux pas m'empêcher de penser qu'il y a un plus , plus de façon Pythonienne d'aborder cela. Je le ferai probablement pour un tableau 20x20 et je devrai le faire plusieurs fois, donc je pourrais le faire aussi efficacement que possible.
Merci d'avance pour toute aide et conseil!
Êtes-vous sûr que vous avez un tableau? Ou est-ce une liste de listes? –
est-ce que "plusieurs fois" fait référence au fait de le faire sur le même tableau plusieurs fois, ou pour des tableaux différents? – lijie
Désolé, liste des listes. Mon erreur. Je vais corriger le post. – Scott