如何使用Python按字母顺序对单词进行排序?
在本文中,我们将展示如何使用Python按字母顺序对单词进行排序。以下是按字母顺序对单词排序的方法:
- 使用冒泡排序
-
使用sorted()函数
-
使用sort()函数
阅读更多:Python 教程
使用冒泡排序
算法(步骤)
下面是执行所需任务的算法/步骤:
- 创建一个变量来存储输入字符串。
-
使用split()函数(将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任何空格)将输入字符串拆分为单词列表,并创建一个变量来存储它。
-
使用for循环遍历单词列表中的每个单词,直到单词列表的长度,使用len()函数(返回对象中的项数。当对象是字符串时,返回字符串中的字符数)。
-
使用lower()函数,将所有单词转换为小写字母。
-
应用冒泡排序对单词进行排序并将它们打印出来。
示例
下面的程序使用Python中的冒泡排序返回句子的排序单词-
# 输入字符串
inputString = "the Quick brown fox jumPs over the lazY Dog"
print("Input String =",inputString)
# 将输入字符串拆分为单词列表
wordsList = inputString.split(" ")
# 遍历单词列表中的每个单词,直到单词列表的长度
for w in range(len(wordsList)):
# 使用lower()函数将所有单词转换为小写字母
wordsList[w]=wordsList[w].lower()
# 从单词列表的末尾遍历每个单词
# 采用冒泡排序对单词进行排序
for n in range(len(wordsList)-1, 0, -1):
for i in range(n):
if wordsList[i] > wordsList[i + 1]:
# 如果这个元素比数组中的下一个元素小,则交换数据
wordsList[i], wordsList[i + 1] = wordsList[i + 1], wordsList[i]
# 打印按字母顺序排序的单词列表
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 - 它是一个序列。
key - 一个函数,用于确定顺序。默认值为None。
reverse - 一个布尔表达式。True则排序升序,False则排序降序。默认值为False。
算法(步骤)
执行所需任务的算法/步骤如下:
- 创建一个变量来存储输入字符串。
-
使用 sorted() 函数通过将单词列表作为其参数对单词进行字典排序,从而对单词进行字典排序。
-
打印按字典顺序排列的单词并使用“”(空字符串)将它们连接到一起以将其转换为字符串,使用 join() 函数(这是Python中用于连接由字符串分隔符分隔的序列元素以形成字符串的字符串函数)。
例子
以下程序使用 sorted() 函数返回句子的按单词排序的单词。
#输入字符串
inputString = "the Quick brown fox jumPs over the lazY Dog"
#根据空格将输入字符串拆分成单词列表
wordsList = inputString.split(" ")
#遍历每个单词,直到单词列表的长度为止
for w in range(len(wordsList)):
#使用lower()函数将所有单词转换为小写字母
wordsList[w]=wordsList[w].lower()
#按字典顺序排列单词列表的单词
sortedWords = sorted(wordsList)
#将按字典顺序排列的单词作为字符串打印
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()函数返回句子中排序后的单词 –
# 输入字符串
inputString = "the Quick brown fox jumPs over the lazY Dog"
# 根据空格将输入字符串拆分为单词列表
wordsList = inputString.split(" ")
# 在单词列表中遍历每个单词的长度
for w in range(len(wordsList)):
# 使用lower()函数将所有单词转换为小写
wordsList[w]=wordsList[w].lower()
# 使用sort()函数按字母顺序对单词列表中的单词进行排序
wordsList.sort()
# 将排序后的单词按字母顺序打印为字符串
print(' '.join(wordsList))
输出
执行上述程序后,将生成以下输出 –
brown dog fox jumps lazy over quick the the
结论
我们在本教程中学习了如何使用三种不同的方法在Python中对句子中的单词进行排序。 我们还学习了如何使用冒泡排序对列表进行排序。
极客教程