J'ai un tableau en Python que j'ai lu à partir d'un fichier texte:
[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]
Je voudrais en faire un tableau multidimensionnel et ajouter une étiquette d'identification, par exemple CAR. Le résultat devrait ressembler à ceci:
["Engine", "Gearbox", "Tires", "Battery"]
Quelle est la manière la plus rapide et la plus simple d'y parvenir?
3 Réponses :
Utiliser une compréhension de liste serait un moyen assez rapide et simple.
lis = ["Engine", "Gearbox", "Tires", "Battery"] new_list = [["CAR", x] for x in lis]
Essayez ceci en une seule ligne:
[['car', 'Engine'], ['car', 'Gearbox'], ['car', 'Tires'], ['car', 'Battery']]
Le résultat sera:
l = ["Engine", "Gearbox", "Tires", "Battery"] result = [["CAR", i] for i in l]
Soyez très prudent! cette variable ne contient pas de tableau, contient une liste. (python ne prend pas en charge les tableaux par défaut). cela devrait être la réponse à votre question
[['CAR', 'Engine'], ['CAR', 'Gearbox'], ['CAR', 'Tires'], ['CAR', 'Battery']]
l = ["Engine", "Gearbox", "Tires", "Battery"] f = lambda x: ['CAR', x] result = list(map(f,l)) print(result)
[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]
l,result = ["Engine", "Gearbox", "Tires", "Battery"],list() for i in l: result.append(['CAR',i]) print(result)
[["CAR", "Engine"], ["CAR", "Gearbox"], ["CAR", "Tires"], ["CAR", "Battery"]]
l = ["Engine", "Gearbox", "Tires", "Battery"] result = [['CAR',i] for i in l] print(result)
[...] est une liste et non un tableau. Lequel souhaitez-vous utiliser? les tableaux nécessitent une bibliothèque (comme numpy) afaik
la dernière option de ma réponse devrait être la plus lente, faites-moi savoir si vous l'avez testée!
Merci beaucoup. J'ai pris la première option. Mais vous avez raison, je devrais peut-être vérifier lequel est le plus rapide. Btw, ce serait une question de suivi cool.