Python程序以升序排列句子中的单词

为了按升序对句子中的单词进行排序,我们首先需要使用空格作为分隔点将句子分为单词。为简单起见,我们仅在空间上进行分割,并让标点符号在那里。我们也可以使用replace或regex将其删除。

拆分句子后,我们可以使用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']

如您所见,原始数组未更改。