\

Pythonでは、2つ以上の配列の和集合を求めるためのいくつかの方法があります。ここでは、NumPyのunion1d関数とPythonのリストを使用した方法を紹介します。

NumPyのunion1d関数

NumPyのunion1d関数は、2つの配列の和集合を求めるための関数です。この関数は、2つの入力配列のいずれかに存在する値のユニークな、ソートされた配列を返します。

import numpy as np

# 2つの配列
ar1 = [-1, 0, 1]
ar2 = [-2, 0, 2]

# 和集合を求める
result = np.union1d(ar1, ar2)
print(result)  # [-2, -1, 0, 1, 2]

また、2つ以上の配列の和集合を求める場合は、functools.reduce関数を使用します。

from functools import reduce

# 3つの配列
arrays = ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2])

# 和集合を求める
result = reduce(np.union1d, arrays)
print(result)  # [1, 2, 3, 4, 6]

Pythonのリストを使用した方法

Pythonのリストを使用して、2つ以上のリストの和集合を求めることも可能です。以下に、リストの和集合を求めるいくつかの方法を示します。

繰り返しを保持する

def Union(lst1, lst2):
    final_list = lst1 + lst2
    return final_list

lst1 = [23, 15, 2, 14, 14, 16, 20 ,52]
lst2 = [2, 48, 15, 12, 26, 32, 47, 54]
print(Union(lst1, lst2))  # [23, 15, 2, 14, 14, 16, 20, 52, 2, 48, 15, 12, 26, 32, 47, 54]

繰り返しと順序を保持する

def Union(lst1, lst2):
    final_list = sorted(lst1 + lst2)
    return final_list

lst1 = [23, 15, 2, 14, 14, 16, 20 ,52]
lst2 = [2, 48, 15, 12, 26, 32, 47, 54]
print(Union(lst1, lst2))  # [2, 2, 12, 14, 14, 15, 15, 16, 20, 23, 26, 32, 47, 48, 52, 54]

繰り返しを排除する

def Union(lst1, lst2):
    final_list = list(set(lst1) | set(lst2))
    return final_list

lst1 = [23, 15, 2, 14, 14, 16, 20 ,52]
lst2 = [2, 48, 15, 12, 26, 32, 47, 54]
print(Union(lst1, lst2))  # [32, 2, 12, 14, 15, 16, 48, 47, 20, 52, 54, 23, 26]

以上、Pythonで配列の和集合を求める方法について説明しました。これらの方法を活用して、Pythonでのデータ操作をより効率的に行いましょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です