Bonjour à tous,
j'ai réussi à formater un fichier xlsx comme je le souhaitais sous forme de liste de tuples.
Voici la structure de données que cela rend (cet un extrait en réalité il est beaucoup plus gros :
[('CRA', ['oxa-50 (oxa-50 like)', 'pdc-250', 'tem-2']), ('FLU', ['oxa-50 (oxa-50 like)', 'pdc-250', 'tem-14']) ('TOT', ['pdc-12', 'tem-1']), ('TIT', ['pdc-22']), ('VIE', ['tem-1']), ('GRE', ['oxa-50 (oxa-50 like)']), ('STL', ['tem-36']), ('BDH', ['tem-30']), ('FAW', ['tem-1']), ('CAT', ['tem-2'])]
Voici ce que je souhaite :
{'CRA' : ['oxa-50 (oxa-50 like)', 'pdc-250', 'tem-2']), 'FLU':['oxa-50 (oxa-50 like)', 'pdc-250', 'tem-14'], 'TOT' : ['pdc-12', 'tem-1'] , 'TIT': ['pdc-22'], 'STL': ['tem-36'], 'BDH': ['tem-30']}
Je voudrais à partir de ce tuple créer par exemple un dictionnaire en gardant en clé le premier élément du tuple (qui est toujours différent) et par contre pour valeurs le second élément du tuple qui est une liste variant de 5 à 1 éléments et dont certains peuvent être commun avec d'autres tuples.
Dans mon idée, j'ai déjà au préalable fait un tri pour avoir en début de liste les tuples donc les listes sont les plus longues.
Je voudrais ensuite ajouter la première liste du premier tuple, créer en parallèle une liste stockant les éléments correspondant à cette liste afin que dans les itérations suivantes si un élément d'une liste est déjà présent alors on ne l'ajoute pas au dictionnaire et sinon on ajoute la liste correspondante.
J'ai commencé à écrire le code suivant mais sans succès
1 2 3 4 5 6 7 8
| dico_new = {}
gene_unique = []
for i,j in mon_tuple :
for gene in gene_unique :
if j not in gene :
dico_new[i] = j
gene_unique.append(j)
print(dico_new) |
Merci d'avance pour votre aide
Partager