Voglio ordinare una lista di dizionari per chiave di dizionario, dove non voglio distinguere tra caratteri maiuscoli e minuscoli.python: combina sort-key-functions itemgetter e 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]
dovrebbe fornire
Ali, Hans, klaus, Krishna, Paul, peter
e non
klaus, peter, Ali, Hans, Krishna, Paul
e come un plus, funzionerà automaticamente con entrambe le stringhe di byte e stringhe Unicode. – nosklo