Python程序对句子中的单词进行升序排序


为了按照升序对句子的单词进行排序,我们首先需要使用空格作为分割点将句子分割成单词。为简单起见,我们只对空格进行分割,并保留标点符号。我们也可以使用 replace 或正则表达式来删除它们。

分割句子后,我们可以使用 sort 或 sorted 方法按字典序(如语言字典中)对单词进行排序,具体取决于我们是想就地排序数组还是排序后返回一个新数组。

就地排序:当我们想就地排序数组/列表时,即更改当前结构本身的顺序,我们可以直接使用 sort 方法。例如,

示例

sent = "mary has a very beautiful dog"
my_arr = sent.split(" ")
print(my_arr)
my_arr.sort()
print(my_arr)

这将给出以下输出:

['mary', 'has', 'a', 'very', 'beautiful', 'dog']
['a', 'beautiful', 'dog', 'has', 'mary', 'very']

如您在此处看到的,原始数组 my_arr 已被修改。如果您想保留此数组并创建新的数组进行排序,可以使用 sorted 方法。例如,

 在线演示

sent = "mary has a very beautiful dog"
# Split on space.
my_arr = sent.split(" ")
print(my_arr)

# Create a new array using the sorted method
new_arr = sorted(my_arr)

print(new_arr)

# This time, my_arr won't change in place, rather, it'll be sorted
# and a new instance will be assigned to new_arr
print(my_arr)

输出

这将给出以下输出:

['mary', 'has', 'a', 'very', 'beautiful', 'dog']
['a', 'beautiful', 'dog', 'has', 'mary', 'very']
['mary', 'has', 'a', 'very', 'beautiful', 'dog']

如您在此处看到的,原始数组没有改变。

更新于: 2020年6月20日

1K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告