在Python中排序单词

6 投票
1 回答
3328 浏览
提问于 2025-04-15 23:56

在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])

你也可以看看这些 文章。祝你好运!

撰写回答