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+ 浏览量

开启您的 职业生涯

完成课程获得认证

开始学习
广告