Python
 Computer >> コンピューター >  >> プログラミング >> Python

文の単語を昇順で並べ替える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']

ご覧のとおり、元の配列は変更されていません。


  1. 文中の単語を数えるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文が与えられたので、文の中の単語数を数える必要があります ここでは、2つのアプローチについて説明します- アプローチ1-split()関数の使用 例 test_string = "Tutorials point " res = len(test_string.split()) print ("The number of words in string are : " + str(res)) 出力 The number of words in st

  2. Pythonで辞書式順序で単語を並べ替える

    辞書式順序で単語を並べ替えるということは、単語の最初の文字で最初に並べ替えることを意味します。次に、最初の文字が同じである単語については、言語の辞書(データ構造ではない)と同じように、そのグループ内で2番目の文字で並べ替えます。 Pythonには2つの関数があり、このタイプの順序で並べ替えと並べ替えがあります。これらの各メソッドをいつどのように使用するかを見てみましょう。 インプレースソート:配列/リストをインプレースでソートする場合、つまり現在の構造自体の順序を変更する場合は、sortメソッドを直接使用できます。たとえば、 my_arr = [ "hello", &q