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

Pythonの別のリストを使用して、タプルのリストを更新します


別のリストを使用してタプルのリストを更新する必要がある場合は、「defaultdict」を使用できます。

Defaultdictは、「コレクション」モジュールに存在する辞書に似たコンテナです。これは、「dict」クラスのサブクラスです。辞書のようなオブジェクトを返します。 'defaultdict'はKeyErrorを発生させません。存在しないキーのデフォルト値を提供します。

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

from collections import defaultdict
def merge_vals(list_1, list_2):
   my_dict = defaultdict(list)
   for i, j in list_1 + list_2:
      my_dict[i].append(j)    
   return sorted([(i, max(j)) for i, j in my_dict.items()],
   key = lambda x:x[0])

my_list_1 = [('v', 1), ('q', 2), ('o', 0)]
my_list_2 = [('q', 5), ('o', 3)]

print("The first list of tuple is : ")
print(my_list_1)
print("The second list of tuple is : ")
print(my_list_2)
print("After merging, it becomes : ")
print(merge_vals(my_list_1, my_list_2))

出力

The first list of tuple is :
[('v', 1), ('q', 2), ('o', 0)]
The second list of tuple is :
[('q', 5), ('o', 3)]
After merging, it becomes :
[('o', 3), ('q', 5), ('v', 1)]

説明

  • 必要なライブラリがインポートされます。
  • 「merge_vals」という名前のメソッドが定義されています。このメソッドは、引数として2つのリストを取ります。 defaultdictが作成されます。
  • リスト内の要素が繰り返され、最初のリストの要素がインデックスとして取得され、2番目のインデックスの要素が辞書に追加されます。
  • この辞書は並べ替えられて返されます。
  • タプルの2つのリストが作成され、コンソールに表示されます。
  • 'merge_vals'メソッドは、これら2つのタプルのリストをパラメーターとして渡すことによって呼び出されます。
  • これはコンソールに出力として表示されます。

  1. Pythonで辞書をタプルのリストに変換する

    あるコレクションタイプから別のコレクションタイプへの変換は、Pythonでは非常に一般的です。データ処理のニーズによっては、ディクショナリに存在するキーと値のペアを、リスト内のタプルを表すペアに変換する必要がある場合があります。この記事では、これを実現するためのアプローチについて説明します。 内で これは単純なアプローチであり、を検討するだけです。 例 Adict = {30:'Mon',11:'Tue',19:'Fri'} # Given dictionary print("The given dictionary: "

  2. Pythonのタプルのリストで頻度を見つける

    Pythonでは、さまざまな種類のデータコンテナが混同される可能性があります。リストには、それぞれがタプルである要素を含めることができます。この記事では、そのようなリストを取得し、それ自体がリストの要素であるタプル内の要素の頻度を見つけます。 カウントとマップの使用 ラムダ関数を適用して、リストに存在するタプルの最初の要素をそれぞれカウントします。次に、マップ関数を適用して、検索している要素の総数を求めます。 例 # initializing list of tuples listA = [('Apple', 'Mon'), ('Banana'