Python의 집합에서 요소 제거

Muhammad Maisam Abbas 2023년1월30일
  1. Python의 remove() 함수를 사용하여 집합에서 단일 요소 제거
  2. Python에서 discard() 함수를 사용하여 집합에서 단일 요소 제거
  3. Python에서 - 연산자를 사용하여 집합에서 여러 요소 제거
  4. Python의 difference() 함수를 사용하여 집합에서 여러 요소 제거
  5. Python의 difference_update() 함수를 사용하여 집합에서 여러 요소 제거
Python의 집합에서 요소 제거

이 자습서에서는 Python의 집합에서 요소를 제거하는 다양한 방법에 대해 설명합니다.

Python의 remove() 함수를 사용하여 집합에서 단일 요소 제거

Python의 set.remove() 함수는 호출 집합에서 특정 요소를 제거하기 위해 집합과 함께 사용됩니다. remove() 함수는 제거할 요소를 인수로 사용하고 호출 집합에서 지정된 요소를 제거합니다. 호출 세트 내에서 요소를 찾을 수 없는 경우 remove() 함수는 KeyError 예외를 발생시킵니다. 다음 코드 예제를 참조하십시오.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.remove(5)
print(set1)

출력:

{0, 1, 2, 3, 4, 6, 7, 8, 9}

위 코드에서 remove(5) 함수를 사용하여 set1에서 5 요소를 제거했습니다. 지정된 값이 호출 집합에 없는 시나리오는 아래 코딩 예제에 나와 있습니다.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.remove(51)
print(set1)

출력:

KeyError                                  Traceback (most recent call last)
<ipython-input-1-841e997b50f3> in <module>()
      1 #remove()
      2 set1 = {1,2,3,4,5,6,7,8,9,0}
----> 3 set1.remove(51)
      4 print(set1)

KeyError: 51

위 코드의 set1에서 51 값을 제거하려고 했습니다. set1에 값 51이 없기 때문에 remove() 함수는 KeyError를 발생시킵니다.

Python에서 discard() 함수를 사용하여 집합에서 단일 요소 제거

discard() 함수remove() 함수와 매우 유사합니다. 또한 Python의 집합에서 단일 요소만 제거하는 데 사용할 수도 있습니다. discard() 함수는 제거할 요소를 입력 매개변수로 취하고 값이 해당 특정 세트에 있으면 호출 세트에서 제거합니다. 유일한 차이점은 값이 호출 집합에 없으면 discard() 함수가 KeyError를 발생시키지 않는다는 것입니다. 다음 코드 조각은 discard() 함수를 사용하여 집합에서 단일 요소를 제거하는 방법을 보여줍니다.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.discard(5)
print(set1)

출력:

{0, 1, 2, 3, 4, 6, 7, 8, 9}

위 코드에서 discard() 함수를 사용하여 set1에서 5 값을 제거했습니다. 위에서 논의한 바와 같이 set1에 없는 discard() 함수에 값을 전달하려고 하면 코드가 성공적으로 실행되고 인터프리터는 예외를 발생시키지 않습니다. 이 현상은 다음 코딩 예제에서 설명됩니다.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.discard(51)
print(set1)

출력:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

위 코드에서 discard() 함수를 사용하여 set1에서 51을 제거하려고 했습니다. 지정된 값이 set1에 없고 set1에서 제거된 요소가 없기 때문에 코드가 성공적으로 실행되었습니다.

Python에서 - 연산자를 사용하여 집합에서 여러 요소 제거

- 연산자를 사용하여 Python에서 차집합 연산을 수행할 수 있습니다. - 연산자는 왼쪽 집합에서 오른쪽 집합의 모든 요소를 ​​제거하고 다른 집합의 형태로 결과를 반환합니다. 이 메서드는 왼쪽 집합의 요소가 오른쪽 집합에 없으면 예외를 발생시키지 않고 오른쪽 집합을 결과로 반환합니다. 다음 코드 조각은 - 연산자를 사용하여 집합에서 여러 요소를 제거하는 방법을 보여줍니다.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1 = set1 - set2
print(set1)

출력:

{1, 3, 5, 7, 9}

- 연산자를 사용하여 set1에서 set2의 모든 요소를 ​​제거하고 결과 집합을 위 코드의 set3에 저장했습니다. 다음 코드 예제는 set1set2가 모두 고유한 값을 갖는 시나리오를 보여줍니다.

set1 = {1, 3, 5, 7, 9}
set2 = {2, 4, 6, 8, 0}
set1 = set1 - set2
print(set1)

출력:

{1, 3, 5, 7, 9}

앞서 논의한 바와 같이 우변 집합의 모든 요소가 좌변 집합에 없으면 코드가 성공적으로 실행되고 - 연산자는 좌변 집합을 결과 집합으로 반환합니다.

Python의 difference() 함수를 사용하여 집합에서 여러 요소 제거

집합 차이에서는 한 집합의 모든 요소를 ​​다른 집합에서 제거합니다. 파이썬에서 set.difference() 함수는 차이 집합 연산을 수행하는 데 사용됩니다. 이 difference() 함수의 작동은 - 연산자와 동일합니다. 제거할 집합을 입력 매개 변수로 사용하고 호출 집합에서 모든 요소를 ​​제거하고 다른 집합의 형태로 결과를 반환합니다. 다음 코드 스니펫을 참조하세요.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1 = set1.difference(set2)
print(set1)

출력:

{1, 3, 5, 7, 9}

difference() 함수를 사용하여 set1에서 set2의 모든 요소를 ​​제거하고 위 코드의 set3 내부에 결과를 저장했습니다. 입력 세트의 모든 값이 호출 세트에 존재하지 않는 difference() 함수의 시나리오는 - 연산자와 동일합니다.

Python의 difference_update() 함수를 사용하여 집합에서 여러 요소 제거

이전 두 섹션에서 집합에서 여러 요소를 제거하는 방법에 대해 논의했으며 두 접근 방식 모두 결과를 저장해야 하는 세 번째 집합을 포함합니다. 이 접근 방식에서는 결과를 저장하기 위해 새 집합이 필요하지 않습니다. 호출 세트를 업데이트하고 호출 세트 내부에 결과를 저장합니다. difference_update() 함수는 입력 매개변수로 호출 세트에서 요소를 제거해야 하는 세트를 취하고 호출 세트에서 모든 공통 요소를 제거합니다.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1.difference_update(set2)
print(set1)

출력:

{1, 3, 5, 7, 9}

set1에서 set2의 모든 요소를 제거하고 위 코드의 difference_update() 함수를 사용하여 결과 집합으로 set1을 업데이트했습니다. 앞의 두 가지 방법과 달리 결과를 저장하기 위해 새 집합을 만들 필요가 없었습니다. 대신 결과가 set1에 자동으로 삽입되었습니다.

difference_update() 함수는 Python의 -= 연산자와 동일합니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Python Set