📌  相关文章
📜  检查是否给定的字符串的字符是按字母顺序排列(1)

📅  最后修改于: 2023-12-03 15:26:48.422000             🧑  作者: Mango

判断字符串字符是否按字母顺序排列

在编写程序时,有时需要判断一个字符串的字符是否按字母顺序排列。在这里,我们将介绍如何使用Python实现这个功能。

方法一:比较相邻字符的ASCII码值

第一种方法是比较相邻字符的ASCII码值,如果当前字符的ASCII码值小于前一个字符的ASCII码值,则说明字符串的字符没有按字母顺序排列。

def is_alphabetically_sorted_1(string):
    for i in range(1, len(string)):
        if ord(string[i]) < ord(string[i-1]):
            return False
    return True
方法二:使用Python的sort函数

第二种方法是使用Python的sort函数,将字符串转换为列表并对其进行排序,然后将排序后的列表转换回字符串,并判断新字符串是否与原字符串相同。若相同,则说明字符串的字符按字母顺序排列。

def is_alphabetically_sorted_2(string):
    sorted_string = ''.join(sorted(string))
    return sorted_string == string

以上就是两种实现方法。可以根据实际情况选择合适的方法。

示例
string = 'abcde'
print(is_alphabetically_sorted_1(string)) # True
print(is_alphabetically_sorted_2(string)) # True

string = 'acbde'
print(is_alphabetically_sorted_1(string)) # False
print(is_alphabetically_sorted_2(string)) # False

以上为示例代码,输出结果也应该分别为True和False。