Existe-t-il un moyen de placer des objets dict dans un ensemble en Python en utilisant une méthode simple, comme une fonction comparateur ?
J'ai trouvé quelques solutions ici qui impliquaient un tas de choses qui semblaient vraiment complexes et sujettes à erreur (il semblait y avoir des problèmes avec l'itération sur le dict dans des ordres indéfinis, etc...). Ce serait bien de faire quelque chose comme ça, qui n'est techniquement pas valide mathématiquement parce que deux objets peuvent avoir des informations différentes, mais être évalués comme égaux, mais qui fonctionne très bien pour de nombreux cas d'utilisation dans la vie réelle :
# One of the dicts:
widget = {
lunch: 'eggs',
dunner: 'steak'
}
# Define a comparator function (ignores dinner)
def comparator(widget1, widget2):
return widget1['lunch'] > widget2['lunch']
widget_set = set([widget], comparator)