在Python中排序单词
在Python中,有没有办法按照自己定义的字母表来排序一个单词列表,而不是按照英语字母表来排序呢?
1 个回答
13
你可以自己定义比较的方法,这样排序就可以按照你设定的规则来进行。我虽然从来没有写过Python代码,但它和Ruby有很多相似之处,所以我觉得下面这段来自这个页面的内容可能对你有帮助:
alphabet = "zyxwvutsrqpomnlkjihgfedcba"
inputWords = ["england", "france", "spain", "italy", "greece", "portugal",
"canada", "usa", "mexico", "peru", "cuba", "chile", "argentina",
"zimbabwe", "uganda", "congo", "zambia", "namibia", "ghana"]
print sorted(inputWords, key=lambda word: [alphabet.index(c) for c in word])