Herzlichen Dank, jerch.
Ich habe mit Deiner Lösung noch mal gesucht und daraus diese vereinfachte Variante entwickelt:
Code: Alles auswählen
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
countries = ['\xc3\x96sterreich','Deutschland','D\xc3\xa4nemark','Ungarn']
countries.sort(key=locale.strxfrm)
print countries
['D\xc3\xa4nemark', 'Deutschland', '\xc3\x96sterreich', 'Ungarn']
Allerdings hatte ich mein Problem in der Fragestellung vereinfacht dargestellt. Tatsächlich möchte ich eine Liste von Listen sortieren. Das habe ich so gelöst (inkl. lunars Tipp, vielen Dank):
Code: Alles auswählen
import locale
#from operator import itemgetter
locale.setlocale(locale.LC_ALL, 'de_DE')
countries = [['\xc3\x96sterreich',1],['Deutschland',2],['D\xc3\xa4nemark',3],['Ungarn',4]]
#countries = sorted(countries, key=itemgetter(0), cmp=locale.strcoll)
countries.sort(key=lambda i: locale.strxfrm(i[0]))
print countries
[['D\xc3\xa4nemark', 3], ['Deutschland', 2], ['\xc3\x96sterreich', 1], ['Ungarn', 4]]
Gruß
JuSt