Bonjour à tous,

je manipule les clés de dictionniares et je suis bloqué quant à un principe de comparaison. Voici de quoi je pars:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
dico1 = {'michel' : '1', 'toto':'1', 'jean':'1'} 
dico2 = {'michel' : '1', 'toto':'1'}
dico3 = {'michel':'1','eric':'1'}
Je dispose de dictionnaires contenant des clés (les valeurs n'ont pas d'importances) et j'aimerai pouvoir, pour chaque clé unique, déterminer dans combien de dico elle apparait, par exemple j'aimerai obtenir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
michel   dico1   dico2  dico3
toto     dico1   dico2
jean     dico1
eric                    dico3
C'est à dire, pour chacun des clés, dans quels dicos apparait'elle. Le soucis est que je ne connais pas à l'avance le nombre de dicos que je vais manipuler (stocker dans une liste de dicos). Là où je bloque c'est que j'arrive à comparer un dictionnaire avec le dictionnaire suivant (i+1), mais je n'arrive pas à faire la comparaison sur l'ensemble des dicos. Concretement je ne fais que des comparaisons 2 à 2.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
stockage = [] #stockage est une liste qui contient toutes les clés que j'écris, grâce à ca je peux tester si j'ai deja écris la clé que je traite
 
for comp,i in enumerate(liste_de_dicos[:-1]): # la dernière valeur de ma liste de dico est une valeur nulle, je peux donc réaliser des incrémentations en m'arrétant à l'avant dernière valeur de la liste
 
	for cle,valeur in i.items():   # je parse chacun de mes dicos (i)
		if cle in stockage: #si la clé est dans la liste de stockage (donc déjà écrite), alors je passe
			pass
		else:	
 
			if cle in liste_de_dicos[comp+1]: # je test la clé du dico i avec la clé du dico i+1
				#j'écris ma clé et ses 2 dicos associés....
				stockage.append(cle) #ajout de la clé à ma liste
 
 
			else:
				#j'écris ma clé et son dico
				stockage.append(cle) # ajout de la clé à la liste
Ce code fonctionne pour des comparaisons 2 à 2, mais comment faire pour tester la clé de mon dico 1 avec tous les autres dicos ? Puis le dico2 avec tous les autres dicos etc...

Merci à vous