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']
如您所见,原始数组未更改。