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

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ずつ増加します。

  • キー以下の場合、要素は空の結果に追加されます。

  • この結果は、コンソールに表示される出力です。


  1. Pythonの文字列の最初の一意の文字

    文字列があり、文字列内の最初の一意の文字を検索する必要があるとします。したがって、文字列が「人」のようなものである場合、出現する最初の文字は「o」です。したがって、インデックスが返されます。ここでは2です。そのような文字がない場合は、-1を返します。 これを解決するには、次の手順に従います- 1つの頻度マップを作成する 文字列内の文字cごとに、を実行します。 cが頻度にない場合は、それを頻度に挿入し、値1を入力します それ以外の場合は、頻度のカウントを増やします 頻度マップをスキャンします。特定のキーの値が1の場合はそのキーを返し、そうでない場合は-1を返します。 例 理解を深め

  2. Python-同じ最初の値を持つタプルの合計を取得します

    タプルは、順序付けられているが変更できないPythonコレクションまたは配列です。最初の要素が同じであるタプルの数を取得した場合、最初の要素が等しいタプルの2番目の要素を追加する必要があるシナリオがあります。 マップとforループの使用 この方法では、最初にタプルで構成されるリストを検討します。次に、それらを辞書に変換して、タプル内の要素をキーと値のペアとして関連付けることができるようにします。次に、辞書の各キーの値を合計してforループを適用します。最後に、map関数を使用して、合計値を含むリストを取得します。 例 List = [(3,19),(7, 31), (7, 50), (1,