Voici mon problème: J'ai une liste de dictionnaires Python de forme identique, qui sont destinés à représenter les lignes d'une table dans une base de données , quelque chose comme ceci:Implémentation de "select distinct ... from ..." sur une liste de dictionnaires Python
[ {'ID': 1,
'NAME': 'Joe',
'CLASS': '8th',
... },
{'ID': 1,
'NAME': 'Joe',
'CLASS': '11th',
... },
...]
Je l'ai déjà écrit une fonction pour obtenir les valeurs uniques pour un domaine particulier dans cette liste des dictionnaires, qui était trivial. Cette fonction met en œuvre quelque chose comme:
select distinct NAME from ...
Cependant, je veux être en mesure d'obtenir la liste des champs multiples uniques, semblables à:
select distinct NAME, CLASS from ...
qui je trouve être non -banal. Existe-t-il un algorithme ou une fonction incluse dans Python pour m'aider avec ce problème? Avant de suggérer de charger les fichiers CSV dans une table SQLite ou quelque chose de similaire, ce n'est pas une option pour l'environnement dans lequel je suis, et croyez-moi, c'était ma première pensée.
Voulez-vous toutes les paires uniques, ou tous les noms uniques, puis les classes uniques, séparément? – Claudiu
si vous pouvez le faire avec un champ quel est le problème de le faire avec deux ou plus ?. – joaquin
@Claudiu Je veux les paires uniques. Si je les voulais séparément, je pourrais simplement appeler la fonction deux fois. Le faire avec un ou deux noms de champs n'est pas un problème, c'est généraliser au nombre N de champs. – daveslab