Supposons que j'ai une fonction comme ceci:Enchaînement de nombreuses listes en Python
def getNeighbors(vertex)
qui retourne une liste de sommets qui sont voisins du sommet donné. Maintenant, je veux créer une liste avec tous les voisins des voisins. Je fais cela comme ceci:
listOfNeighborsNeighbors = []
for neighborVertex in getNeighbors(vertex):
listOfNeighborsNeighbors.append(getNeighbors(neighborsVertex))
Y a-t-il une façon plus pythonique de le faire?
+1 J'allais suggérer une compréhension de liste. À mon humble avis, c'est la façon la plus pythonienne. –
Cependant, voir les comparaisons de temps, comme commentaires sous la réponse d'emu: à la fois "itertools.chain" et "reduce (iadd" sont plus de deux fois plus rapide que la compréhension de liste imbriquée - et BEAUCOUP plus rapide que sum(), qui se dégrade rapidement aveC# éléments traités – ToolmakerSteve