Python에서 목록 연합 가져오기
목록의 합집합은 서로 다른 목록의 모든 요소가 단일 목록에 포함됨을 의미합니다. 두 개 또는 두 개 이상의 목록의 합집합을 찾을 수 있습니다. 목록 연합을 달성하는 다양한 방법이 있습니다. 모든 방법은 충분한 코드 예제와 함께 아래에 설명되어 있습니다.
Python에서 공통 요소를 반복하여 두 목록의 합집합 얻기
+
연산자를 사용하여 두 목록을 추가하여 두 목록의 합집합을 얻을 수 있습니다.
예제 코드:
l1 = [1, 2, 3, 4, 5]
l2 = [2, 4, 6.8, 10]
l3 = l1 + l2
print("l1: ", l1)
print("l2: ", l2)
print("Union of l1 and l2 with element repetition: ", l3)
출력:
l1: [1, 2, 3, 4, 5]
l2: [2, 4, 6.8, 10]
Union of l1 and l2 with element repetition: [1, 2, 3, 4, 5, 2, 4, 6.8, 10]
목록 l1
과 l2
의 합집합을 찾고 결과를 l3
에 저장합니다. 출력에서 목록 피연산자에서 동일한 요소가 반복되는 경우 합집합을 찾는 동안 요소가 반복되었음을 알 수 있습니다.
Python에서 정렬 된 순서로 두 목록의 합집합 가져 오기
정렬된 방식으로 목록의 합집합을 찾으려면 sorted()
메서드를 사용하여 합집합 작업 후에 얻은 목록을 정렬합니다.
코드:
l1 = [11, 20, 1, 2, 3, 4, 5]
l2 = [2, 4, 6, 8, 10]
union_l1_l2 = l1 + l2
l3 = sorted(union_l1_l2)
print("l1: ", l1)
print("l2: ", l2)
print("Sorted union of two l1 and l2 : ", l3)
출력:
l1: [11, 20, 1, 2, 3, 4, 5]
l2: [2, 4, 6, 8, 10]
Sorted union of two l1 and l2 : [1, 2, 2, 3, 4, 4, 5, 6, 8, 10, 11, 20]
+
연산자를 사용하여 목록 l1
과 l2
의 합집합을 계산하고 합집합을 union_l1_l2
에 저장합니다. sorted()
메소드를 사용하여 union_l1_l2
목록의 요소를 정렬하여 l1
과 l2
의 합집합을 정렬된 방식으로 얻습니다.
Python에서 공통 요소를 반복하지 않고 두 목록의 합집합 얻기
파이썬에서 집합은 요소의 복제를 허용하지 않는 데이터 유형입니다. 따라서 set()
을 사용하여 공통 요소의 반복 없이 두 목록의 합집합을 얻을 수 있습니다.
코드:
def union_without_repetition(list1, list2):
result = list(set(list1 + list2))
return result
l1 = [1, 2, 3, 4, 5]
l2 = [2, 4, 6, 8, 10]
l3 = union_without_repetition(l1, l2)
print("l1: ", l1)
print("l2: ", l2)
print("Union of two l1 and l2 without repetition : ", l3)
출력:
l1: [1, 2, 3, 4, 5]
l2: [2, 4, 6, 8, 10]
Union of two l1 and l2 without repetition : [1, 2, 3, 4, 5, 6, 8, 10]
여기에서 +
연산자를 사용하여 l1
과 l2
의 합집합을 찾고 set()
기능을 사용하여 고유한 요소만 선택한 다음 마지막으로 list()
기능을 사용하여 집합을 목록으로 변환합니다.
Python에서 두 개 이상의 목록의 합집합 얻기
우리는 이미 두 목록의 합집합을 계산했습니다. 그러나 두 개 이상의 목록의 합집합을 찾는 경우 수행할 작업입니다. 매우 간단합니다. set()
및 union()
내장 파이썬 함수를 모두 사용하여 두 개 이상의 목록의 합집합을 찾을 수 있습니다.
코드:
def union(lst1, lst2, lst3):
final_list = list(set().union(lst1, lst2, lst3))
return final_list
l1 = [1, 2, 3, 4, 5]
l2 = [2, 4, 6, 8, 10]
l3 = [5, 6, 7, 8, 11, 15, 18]
print("l1: ", l1)
print("l2: ", l2)
print("l3 : ", l3)
print("Union of more than l1 l2 and l3: ", union(l1, l2, l3))
출력:
l1: [1, 2, 3, 4, 5]
l2: [2, 4, 6, 8, 10]
l3 : [5, 6, 7, 8, 11, 15, 18]
Union of more than l1 l2 and l3: [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 18]
여기서는 set()
생성자를 사용하여 set
객체를 생성한 다음 해당 객체에 대해 union()
메서드를 호출합니다. union()
메서드는 list
개체를 원하는 수만큼 가져와서 해당 개체의 합집합을 반환할 수 있습니다.
이 경우 set
클래스의 union()
메서드를 사용하므로 반복되는 요소를 얻지 못합니다.