2010-07-13 4 views

Répondre

3

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) 
+0

En fait, la liste contient tuples – Bruce

+0

@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. –

+2

@Bruce: Essayez d'utiliser 'choice' au lieu de' sample'. 'choice' retournera un élément aléatoire sans l'encapsuler dans une liste. –

0

Voici la solution. J'ai changé la ligne de

(x,neighbor) = random.sample(out_edge_list,1)[0] 
+1

Comme Laurence l'a souligné plus haut, cela pourrait être exprimé plus simplement et plus clairement que 'random.choice (out_edge_list)'. –

Questions connexes