web-dev-qa-db-fra.com

Python: Liste de compréhension des listes de listes

J'ai une liste de listes et j'aimerais utiliser la compréhension de liste pour appliquer une fonction à chaque élément de la liste de listes, mais quand je le fais, je me retrouve avec une longue liste plutôt que ma liste de listes.

Donc j'ai

x = [[1,2,3],[4,5,6],[7,8,9]]
[number+1 for group in x for number in group]
[2, 3, 4, 5, 6, 7, 8, 9, 10]

Mais je veux avoir

[[2, 3, 4], [5, 6, 7], [8, 9, 10]]

Comment dois-je procéder?

24
Jean-Luc

Utilisez ceci:

[[number+1 for number in group] for group in x]

Ou utilisez ceci si vous connaissez la carte:

[map(lambda x:x+1 ,group) for group in x]
41
Booster