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

Python –回文数で行列を並べ替える


回文数に基づいて行列をソートする必要がある場合は、リストをパラメーターとして受け取るメソッドが定義されます。リスト内包表記と「結合」メソッドを使用して、要素が回文であるかどうかを繰り返して確認します。これに基づいて、結果が決定され、表示されます。

以下は同じもののデモンストレーションです

def get_palindrome_count(row):
   return len([element for element in row if''.join(list(reversed(element))) == element])
my_list = [["abcba", "hdgfue", "abc"], ["peep"],["py", "is", "best"],["sees", "level", "non", "noon"]]

print("The list is :")
print(my_list)

my_list.sort(key=get_palindrome_count)

print("The resultant list is :")
print(my_list)

出力

The list is :
[['abcba', 'hdgfue', 'abc'], ['peep'], ['py', 'is', 'best'], ['sees', 'level', 'non', 'noon']]
The resultant list is :
[['py', 'is', 'best'], ['abcba', 'hdgfue', 'abc'], ['peep'], ['sees', 'level', 'non', 'noon']]

説明

  • リストをパラメータとして受け取る「get_palindrome_count」という名前のメソッドが定義されています。

  • リスト内包表記は、リストを反復処理して、要素が回文であるかどうかを確認するために使用されます。

  • はいの場合は返されます。

  • メソッドの外部では、文字列値を含むリストのリストが定義され、コンソールに表示されます。

  • 「sort」メソッドは、以前に定義されたメソッドであるキーに基づいてリストをソートするために使用されます。

  • これは、コンソールに出力として表示されます。


  1. Pythonの回文リンクリスト

    リンクリストがあるとします。リスト要素がアパリンドロームを形成しているかどうかを確認する必要があります。したがって、リスト要素が[1,2,3,2,1]のような場合、これは回文です。 これを解決するには、次の手順に従います- 高速:=ヘッド、低速:=ヘッド、回転:=なし、フラグ:=1 ヘッドが空の場合は、trueを返します 高速で次の高速が利用可能です next of fastが使用可能な場合は、フラグ:=0を設定し、ループを解除します fast:=next of the next of fast temp:=遅い、遅い:=次の遅い 次のtemp:

  2. Pythonで文字列のリストを並べ替える方法は?

    リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を