Je veux trier une liste de dictionnaires par clé de dictionnaire, où je ne veux pas faire la distinction entre les majuscules et minuscules.python: combine tri-clé-fonctions itemgetter et str.lower
dict1 = {'name':'peter','phone':'12355'}
dict2 = {'name':'Paul','phone':'545435'}
dict3 = {'name':'klaus','phone':'55345'}
dict4 = {'name':'Krishna','phone':'12345'}
dict5 = {'name':'Ali','phone':'53453'}
dict6 = {'name':'Hans','phone':'765756'}
list_of_dicts = [dict1,dict2,dict3,dict4,dict5,dict6]
key_field = 'name'
list_of_dicts.sort(key=itemgetter(key_field))
# how to combine key=itemgetter(key_field) and key=str.lower?
for list_field in list_of_dicts:
print list_field[key_field]
devrait fournir
Ali, Hans, klaus, Krishna, Paul, peter
et non
klaus, peter, Ali, Hans, Krishna, Paul
et en plus, il fonctionnera automatiquement avec les deux chaînes d'octets et les chaînes unicode. – nosklo