Python-最初の要素の値の頻度でタプルを制限する
最初の要素の値の頻度でタプルを制限する必要がある場合は、単純な「if」条件と反復および「append」メソッドが使用されます。
例
以下は同じもののデモンストレーションです
my_list = [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56),(73, 84), (91, 40), (40, 83), (13, 27)] print("The list is :") print(my_list) my_key = 1 my_result = [] mems = dict() for sub in my_list: if sub[0] not in mems.keys(): mems[sub[0]] = 1 else: mems[sub[0]] += 1 if mems[sub[0]] <= my_key: my_result.append(sub) print("The filtered tuples are :") print(my_result)
出力
The list is : [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83), (13, 27)] The filtered tuples are : [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83)]
説明
-
タプルのリストが定義され、コンソールに表示されます。
-
1には整数値が割り当てられます。
-
空のリストが定義されています。
-
空の辞書が作成されます。
-
タプルのリストが繰り返され、辞書のキー値に要素が見つからない場合は、0 th インデックスは1に割り当てられます。
-
それ以外の場合は、1ずつ増加します。
-
キー以下の場合、要素は空の結果に追加されます。
-
この結果は、コンソールに表示される出力です。
-
Pythonの文字列の最初の一意の文字
文字列があり、文字列内の最初の一意の文字を検索する必要があるとします。したがって、文字列が「人」のようなものである場合、出現する最初の文字は「o」です。したがって、インデックスが返されます。ここでは2です。そのような文字がない場合は、-1を返します。 これを解決するには、次の手順に従います- 1つの頻度マップを作成する 文字列内の文字cごとに、を実行します。 cが頻度にない場合は、それを頻度に挿入し、値1を入力します それ以外の場合は、頻度のカウントを増やします 頻度マップをスキャンします。特定のキーの値が1の場合はそのキーを返し、そうでない場合は-1を返します。 例 理解を深め
-
Python-同じ最初の値を持つタプルの合計を取得します
タプルは、順序付けられているが変更できないPythonコレクションまたは配列です。最初の要素が同じであるタプルの数を取得した場合、最初の要素が等しいタプルの2番目の要素を追加する必要があるシナリオがあります。 マップとforループの使用 この方法では、最初にタプルで構成されるリストを検討します。次に、それらを辞書に変換して、タプル内の要素をキーと値のペアとして関連付けることができるようにします。次に、辞書の各キーの値を合計してforループを適用します。最後に、map関数を使用して、合計値を含むリストを取得します。 例 List = [(3,19),(7, 31), (7, 50), (1,