Je parcours une liste de 10 à 20 longues listes contenant environ 500 000 sous-listes. Les listes ressemblent:Itération sur la collecte de longues listes
A = [['a', 'b', 1.7], ['d', 'e', 6.2] ...]
B = [['a', 'b', 2.0], ['d', 'e', 10.0] ...]
C = [['a', 'b', 3.0], ['d', 'e',7.0] ...]
et ainsi de suite ... Mon objectif est d'obtenir une liste à la fin comme la suivante:
final = [['a', 'b', 1.7, 2.0, 3.0], ['d', 'e', 6.2, 6.2, 10.0, 7.0] ...]
Je l'ai déjà utilisé des boucles imbriquées en comparant une liste des modèles (par exemple a) avec une liste contenant toutes les listes de valeurs (total):
total =[['a', 'b', 1.7], ['d', 'e', 6.2], ['a', 'b', 2.0], ['d', 'e', 10.0], ['a', 'b', 3.0], ['d', 'e',7.0]]
temp = []
for i in A:
new = [i[0:1]]
for j in total:
if i[0] == j[0]:
new.append(j[2])
temp.append(new)
je reçois quelque chose à ce que je cherche, sauf que les chaînes initiales sont inclus dans un Subli st. Mais ce serait facile de travailler plus tard. Le problème avec cette approche est que compte tenu de la taille des listes, les processus complets prennent énormément de temps. Toute autre suggestion ou conseil pour raccourcir cette procédure serait appréciée.
est '6.2' censé être là deux fois? – user2357112
Non, ce ne devrait être qu'une seule. Je tapé deux fois par erreur. – user2658190