2 votes

Créer des listes à l'intérieur d'une liste en Python

values = ['random word1', 20, 'random word2', 54…]

La liste comporte une chaîne de caractères puis une valeur et à nouveau une chaîne de caractères puis une valeur. Le nombre de chaînes suivies de valeurs est aléatoire. Les mots sont aléatoires et les valeurs sont également aléatoires.

Je souhaite convertir la liste en quelque chose comme ceci :

values = [['random word1', 20], ['random word2', 54]…]

2voto

islam abdelmoumen Points 106
values = ['random word1', 20, 'random word2', 54]
values = [values[i:i+2] for i in range(0,len(values),2)]
print(values)

2voto

Mayo Points 121

Essayez ceci :

values = ['random word1', 20, 'random word2', 54]
print([list(x) for x in zip(values[::2], values[1::2])])

1voto

Rahul K P Points 6628

Vous pouvez le faire avec zip et le découpage en listes.

list(map(list,zip(values[::2], values[1::2])))
# [['random word1', 20], ['random word2', 54]]

-2voto

Federico Beach Points 85
b = [[values[i], values[i+1]] for i in range(len(values)) if i%2==0]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X