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

共通の要素に基づいてリストをセットに変換するPythonプログラム


特定の共通要素に基づいてリストをセットに変換する必要がある場合、「列挙」を使用してセットを反復処理し、要素に特定の条件を設定するメソッドを定義できます。 「union」メソッドと「map」メソッドが使用されます。

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

def common_elem_set(my_set):
   for index, val in enumerate(my_set):
      for j, k in enumerate(my_set[index + 1:], index + 1):

         if val & k:
            my_set[index] = val.union(my_set.pop(j))
            return common_elem_set(my_set)
   return my_set

my_list = [[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]

print("The list is :")
print(my_list)

my_set = list(map(set, my_list))

my_result = common_elem_set(my_set)

print("The result is :")
print(my_result)

出力

The list is :
[[18, 14, 12, 19], [9, 6, 2, 1], [54, 32, 21, 17], [18, 11, 13, 12]]
The result is :
[{11, 12, 13, 14, 18, 19}, {9, 2, 6, 1}, {32, 17, 21, 54}]

説明

  • リストをパラメータとして受け取る「common_elem_set」という名前のメソッドが定義されています。

  • リストはenumerateを使用して繰り返されます。

  • 条件は「&」を使用して設定され、条件が満たされると、出力が返されます。

  • メソッドの外部では、リストのリストが定義されています。

  • コンソールに表示されます。

  • 「map」メソッドを使用してセットに変換されてから、再度リストに変換されます。

  • これは変数に割り当てられます。

  • これで、この変数を渡すことでメソッドが呼び出されます。

  • 出力はコンソールに表示されます。


  1. ソートされたリストに要素を挿入するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、ソートされた順序を変更せずにリストに要素を挿入する必要があります 以下で説明するように、2つのアプローチがあります- アプローチ1:強引な方法 例 def insert(list_, n):    # search    for i in range(len(list_)):       if list_[i] > n:          index = i

  2. 文字のリストを文字列に変換するPythonプログラム

    Pythonはこの種の変換をたくさん必要とします。たとえば、このような変換はシリアル化の目的で役立ちます。このような変換の例は、-です。 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] to "hello world" Pythonには、このような変換に使用できる結合メソッドがあります。オブジェクトを連結するために使用される区切り文字列