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」メソッドは、以前に定義されたメソッドであるキーに基づいてリストをソートするために使用されます。
-
これは、コンソールに出力として表示されます。
-
Pythonの回文リンクリスト
リンクリストがあるとします。リスト要素がアパリンドロームを形成しているかどうかを確認する必要があります。したがって、リスト要素が[1,2,3,2,1]のような場合、これは回文です。 これを解決するには、次の手順に従います- 高速:=ヘッド、低速:=ヘッド、回転:=なし、フラグ:=1 ヘッドが空の場合は、trueを返します 高速で次の高速が利用可能です next of fastが使用可能な場合は、フラグ:=0を設定し、ループを解除します fast:=next of the next of fast temp:=遅い、遅い:=次の遅い 次のtemp:
-
Pythonで文字列のリストを並べ替える方法は?
リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を