est ici la ligne qui jette cette erreurValueError: valeur besoin de plus de 1 à déballer
(x,neighbor) = random.sample(out_edge_list,1)
est ici la ligne qui jette cette erreurValueError: valeur besoin de plus de 1 à déballer
(x,neighbor) = random.sample(out_edge_list,1)
Vous vous demandez 1 élément aléatoire unique. Donc, vous obtenez quelque chose comme [5]
. Si le 5 entre dans x
, qu'est-ce qui va dans neighbor
?
Peut-être que vous vouliez demander 2 éléments?
(x, neighbor) = random.sample(out_edge_list, 2)
Voici la solution. J'ai changé la ligne de
(x,neighbor) = random.sample(out_edge_list,1)[0]
Comme Laurence l'a souligné plus haut, cela pourrait être exprimé plus simplement et plus clairement que 'random.choice (out_edge_list)'. –
En fait, la liste contient tuples – Bruce
@Bruce: Même si la liste contient tuples, vous demandez une liste d'un élément, de sorte que vous êtes effectivement dire '(x, voisin) = [(1,2)] '. Il y a une différence entre une liste d'un élément et un élément. –
@Bruce: Essayez d'utiliser 'choice' au lieu de' sample'. 'choice' retournera un élément aléatoire sans l'encapsuler dans une liste. –