如何在python中按字母顺序对字符串进行排序

问题描述

我一直在尝试按字母顺序对字符串进行排序,但被卡住了。我知道 python 上存在 sort 函数,但我不能使用它。甚至不能使用 .join 方法。必须使用 for 循环来完成这一切。

def wordOrder(word):
    word =  list(word)
    for i in range(0,len(word)):
        for j in range(i,len(word)):
            if word[i] > word[j]:
                word[i],word[j] = word[j],word[i]
    word = ""+ str(word)
    return word

这是我所拥有的,但我是和导师一起做的,不记得 if 部分是做什么的。 谢谢!

解决方法

您可以使用 ( >,

If 语句比较第一个和第二个字母的 ASCII 值。 如果它大于交换。

例如

print(wordOrder('ba'))

output
['a','b']

a的ASCII值为97b98

if word[i] > word[j]:
                word[i],word[j] = word[j],word[i]

所以,

 word[i] --> b --> 98
 word[j]  --> a --> 97

因为 98 大于 97,所以我们交换两个值。