如何使用Python按字母顺序排序单词
在本篇文章中,我们将向您展示如何使用 Python 按字母顺序排序单词。以下是按字母顺序排序单词的方法:
- 使用冒泡排序
-
使用 sorted() 函数
-
使用 sort() 函数
使用冒泡排序
算法(步骤)
以下是执行所需任务的算法/步骤:
- 创建一个变量 来存储输入字符串。
-
使用 split() 函数 (将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任意空白字符)将输入字符串拆分为一个单词列表,并创建一个变量来存储它。
-
使用 for 循环 , 遍历单词列表中的每个单词,直到达到单词列表的长度,使用 len() 函数 (len() 方法返回对象中的项目数。当对象是字符串时,它返回字符串中的字符数)
-
使用 lower() 函数 将所有单词转换为小写。
-
应用 冒泡排序 对单词进行排序并打印它们。
示例
以下程序使用Python中的冒泡排序返回句子的排序后的单词−
# input string
inputString = "the Quick brown fox jumPs over the lazY Dog"
print("Input String =",inputString)
# splitting the input string into a list of words
wordsList = inputString.split(" ")
# traversing through each word in the words list till the length of the words list
for w in range(len(wordsList)):
# converting all the words into lowercase using the lower() function
wordsList[w]=wordsList[w].lower()
# traversing through each word from the end in the words list
# Applying bubble sort to sort the words
for n in range(len(wordsList)-1, 0, -1):
for i in range(n):
if wordsList[i] > wordsList[i + 1]:
# swapping data if the element is less than the next element in the array
wordsList[i], wordsList[i + 1] = wordsList[i + 1], wordsList[i]
# printing the list of sorted Words in alphabetic Order
print("Sorted Words Alphabetically =",wordsList)
输出
执行上述程序将生成以下输出-
Input String = the Quick brown fox jumPs over the lazY Dog
Sorted Words Alphabetically = ['brown', 'dog', 'fox', 'jumps', 'lazy', 'over', 'quick', 'the', 'the']
使用sorted()函数
sorted()函数返回给定可迭代对象的排序列表。
您可以选择升序或降序。数字按数字顺序排序,而字符串按字母顺序排列。
语法
sorted(iterable, key=key, reverse=reverse)
参数
iterable- It is a sequence.
key - A function that will be executed to determine the order. The default value is None.
reverse - A Boolean expression. True sorts ascending, False sorts descending. The default value is False.
算法(步骤)
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入字符串。
-
使用 sorted() 函数按字母顺序对单词列表中的单词进行排序,将单词列表作为参数传递给它。
-
以字母顺序打印排序后的单词,并使用 join() 函数以‘ ’(空字符串)连接它们,将其转换为字符串。(这是Python中的一个字符串函数,用于连接由字符串分隔符分隔的序列元素。此函数将序列元素连接起来形成一个字符串)
示例
以下程序使用Python中的 sorted() 函数返回句子中的单词排序:
# input string
inputString = "the Quick brown fox jumPs over the lazY Dog"
# splitting the input string into a list of words based on spaces
wordsList = inputString.split(" ")
# traversing through each word till the length of the words list
for w in range(len(wordsList)):
# converting all the words into lowercase using the lower() function
wordsList[w]=wordsList[w].lower()
# sorting the words of words list in alphabetical order
sortedWords = sorted(wordsList)
# printing the sorted Words in alphabetic Order as a string
print(' '.join(sortedWords))
输出
在执行上述程序时,将生成以下输出−
brown dog fox jumps lazy over quick the the
使用sort()方法
sort()方法可以原地对列表进行排序。这表示sort()方法会改变列表元素的顺序。
简单来说,sort()方法可以按升序或降序对列表进行排序。如果是字符串类型,它将按字母顺序进行排序。
默认情况下,sort()方法使用小于号运算符<来对列表的条目进行排序,即按升序排序。换句话说,它会将较小的元素放在较大的元素之前。
要按从高到低的顺序对元素进行排序(降序),可以在sort()方法中使用reverse=True参数。
list.sort(reverse=True)
算法(步骤)
以下是执行所需任务的算法/步骤−
- 创建一个变量来存储输入字符串。
-
对单词列表应用 sort() 函数,按字母顺序对单词列表中的单词进行排序。
-
以字母顺序打印排序后的单词,并使用‘ ’(空字符串)将它们连接起来,将它们转换为一个字符串,使用 join() 函数。
示例
以下程序使用Python中的 sort() 函数返回句子的排序后的单词−
# input string
inputString = "the Quick brown fox jumPs over the lazY Dog"
# splitting the input string into a list of words based on spaces
wordsList = inputString.split(" ")
# traversing through each word till the length of the words list
for w in range(len(wordsList)):
# converting all the words into lowercase using the lower() function
wordsList[w]=wordsList[w].lower()
# sorting the words of words list in alphabetical order using sort()
wordsList.sort()
# printing the sorted Words in alphabetic Order as a string
print(' '.join(wordsList))
输出
在执行后,以上程序将生成以下输出−
brown dog fox jumps lazy over quick the the
结论
在本教程中,我们学习了如何使用三种不同的方法来在Python中对句子中的单词进行排序。我们还学习了如何使用冒泡排序来对列表进行排序。