Maison >développement back-end >Tutoriel Python >Quel est le moyen le plus efficace d'aplatir une liste de listes en Python ?
Aplatir des listes de listes
Aplatir une liste de listes implique de convertir une structure imbriquée en une liste à un seul niveau. En Python, cela peut être réalisé en utilisant plusieurs méthodes.
Compréhension de liste imbriquée
La méthode la plus efficace est une compréhension de liste imbriquée :
flat_list = [x for xs in xss for x in xs]
Cette expression parcourt chaque liste interne et ajoute chaque élément au plat résultant list.
Utilisation de l'opérateur
Vous pouvez également aplatir les listes à l'aide de l'opérateur :
flat_list = [] for xs in xss: flat_list = flat_list + xs
Cette méthode est légèrement plus lente que la compréhension de liste en raison d'une concaténation répétée de listes.
Utilisation d'une somme avec un vide Liste
Une autre approche utilise la fonction somme avec une liste vide :
flat_list = sum(xss, [])
Cette méthode est moins efficace que la compréhension de liste, notamment pour les grandes listes.
Utiliser functools.reduce
Enfin, vous pouvez utiliser le Fonction functools.reduce :
from functools import reduce flat_list = reduce(lambda xs, ys: xs + ys, xss)
Encore une fois, cette méthode est plus lente que la compréhension de liste.
Les tests de performances utilisant le module timeit montrent que la compréhension de liste est la méthode la plus rapide.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!