Python指定されたリストを文字列サイズで分類します
さまざまな長さの多くの文字列を含むリストを考えてみましょう。この記事では、これらの要素をグループにまとめて、各グループで文字列の長さが同じになるようにする方法を説明します。
forループあり
リストのすべての要素を反復処理し、その長さが既存の要素の長さと一致するリストにのみ発生するforループを設計します。
例
listA = ['Monday','Thursday','Friday','Saturday','Sunday'] # Given list print("Given list : \n",listA) # Categorize by string size len_comp = lambda x, y: len(x) == len(y) res = [] for sub_list in listA: ele = next((i for i in res if len_comp(sub_list, i[0])), []) if ele == []: res.append(ele) ele.append(sub_list) # Result print("The list after creating categories : \n",res)
出力
上記のコードを実行すると、次の結果が得られます-
Given list : ['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] The list after creating categories : [['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]
並べ替えとグループ化あり
このアプローチでは、最初にすべての要素をその長さに従って撮影し、次にitertoolsモジュールの一部であるgroupby関数を適用します。
例
from itertools import groupby listA = ['Monday','Thursday','Friday','Saturday','Sunday'] # Given list print("Given list : \n",listA) # Categorize by string size get_len = lambda x: len(x) sub_list = sorted(listA, key = get_len) res = [list(ele) for i, ele in groupby(sub_list, get_len)] # Result print("The list after creating categories : \n",res)
出力
上記のコードを実行すると、次の結果が得られます-
Given list : ['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] The list after creating categories : [['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]
-
指定された文字列が母音回文であるかどうかを確認するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列(母音と子音の両方の文字を含む)が与えられ、すべての子音を削除してから、結果の文字列が回文であるかどうかを確認します。 ここでは、最初に文字列に存在するすべての子音を削除します。各値を1から計算された最小値まで除算することによって計算されて除数を計算するループ 条件が真であると評価されるたびに、カウンターは1ずつ増加します。 文字列内のすべての子音を削除します。ここで、母音の文字列が回文であるかどうか、つまり、指定された文字列とその反転が同一であるかどうかを確認します。それがpalindromep
-
指定された文字列がパングラムであるかどうかを確認するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram