擅长:python、mysql、java
<p>我相信我已经用这个名为PyICU的库解决了这个问题,这个库在这里使用:<a href="https://stackoverflow.com/questions/1097908/how-do-i-sort-unicode-strings-alphabetically-in-python">How do I sort unicode strings alphabetically in Python?</a></p>
<pre><code>import icu # pip install PyICU
collator = icu.Collator.createInstance(icu.Locale('gr_GR'))
letters="abcçdefgğhıijklmnoöprsştuüvyz" #Turkish alphabet
import random
not_names = []
## creating fake names and players
for i in range(15):
not_names.append(''.join([random.choice(letters) for a in range(5)]))
class Player:
def __init__(self,license_no, name):
self.license = license_no
self.name = name
players = []
for idx, name in enumerate(not_names):
players.append(Player(idx, name))
for player in players: print(player.license, player.name)
players.sort(key=lambda d: collator.getSortKey(d.name)) ## sorting done here
print('\n')
for player in players: print(player.license, player.name)
</code></pre>