>  기사  >  백엔드 개발  >  Python에서 set 메소드를 사용하는 방법

Python에서 set 메소드를 사용하는 방법

王林
王林앞으로
2023-05-11 14:31:285040검색

1. 서문

Python에서 집합은 순서가 없고 반복되지 않는 집합을 나타내는 집합 데이터 유형입니다. set() 메서드를 사용하여 빈 컬렉션을 만들거나 다른 반복 가능한 객체를 컬렉션으로 변환할 수 있습니다. 다른 Python 데이터 유형과 달리 세트에는 인덱스가 없으며 해당 요소는 인덱스로 액세스할 수 없지만 세트의 요소를 조작하고 액세스하는 데 사용할 수 있는 메서드가 있습니다. set() 메소드를 사용하여 빈 컬렉션 생성

2. 일반적으로 사용되는 set() 메소드에 대한 자세한 설명

1.add(): 세트 컬렉션에 요소 추가

# add()语法如下:
set.add(elmnt)

# 案例如下:
set1 = {1,2,3}
set1.add(4)
print(set1)

# 输出结果如下
{1, 2, 3, 4}

2.clear() : 세트 컬렉션에서 모든 요소 제거

# clear()语法如下:
set.clear()
# 案例如下:
set1 = {1, 2, 3}
set1.clear()
print(set1)
# 输出结果如下:
set()

3.copy(): 컬렉션을 복사하는 데 사용됩니다. copy() 메서드를 사용하여 생성된 복사본은 원본 컬렉션의 전체 복사본입니다. 원본 컬렉션에 영향을 미칩니다.

# 语法如下:
new_set = old_set.copy()
# 案列如下:
set1 = {1, 2, 3}
set2 = set1.copy()
set2.add(4)
print(set1)
print(set2)
# 输出结果如下:
{1, 2, 3}
{1, 2, 3, 4}
# 首先,我们创建了一个原始集合,然后使用copy方法创建了一个新集合,并在新集合中添加了一个元素4,
# 最后,我们打印了原始集合和复制出的新集合,可以看到两个集合互不影响。

4.difference(): 메서드는 집합의 차이 집합을 반환하는 데 사용됩니다. 즉, 반환된 집합 요소는 첫 번째 집합에는 포함되지만 두 번째 집합에는 포함되지 않습니다(메서드의 매개 변수) ).

# 语法如下:
set1.difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.difference(set2))
# 输出结果如下:
{1}

5.difference_update(): 이 메서드는 두 세트 모두에 존재하는 요소를 제거하는 데 사용됩니다. Difference_update() 메서드와 Difference() 메서드의 차이점은 Difference() 메서드가 제거하는 값을 반환한다는 것입니다. 동일한 요소입니다. Difference_update() 메서드는 값을 반환하지 않고 원래 컬렉션에서 요소를 직접 제거합니다.

# 语法如下:
set1.difference_update(set2)
# 案例如下:
set1 = {1, 2, 3, 4, 5}
set2 = {2, 3, 4}
set1.difference_update(set2)
print(set1)
# 输出结果如下
{1, 5}

6.discard() 메서드 구문: Discard() 메서드는 지정된 컬렉션 요소를 제거하는 데 사용됩니다.

이 메서드는 존재하지 않는 요소를 제거할 때 제거() 메서드는 오류를 생성하는 반면, Discard() 메서드는 오류를 생성하지 않기 때문에 제거() 메서드와 다릅니다.

# 语法如下:
set.discard(value)
# 案例如下
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.discard(2), set2.discard(3)
print(set1, set2)
# 输出结果如下:
{1, 3} {2, 4}
# 删除不存在元素,不会引发任何异常
set1.discard(4)
print(set1)
# 输出结果如下
{1, 2, 3}

7. 교집합() 메서드는 두 개 이상의 집합에 포함된 요소, 즉 교집합을 반환하는 데 사용됩니다.

# 语法如下:
set1.intersection(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1.intersection(set2)
print(set3)
# 输出结果如下:
{2, 3}
8. Intersection_update() 메서드는 두 개 이상의 집합에서 겹치는 요소, 즉 교차점을 계산하는 데 사용됩니다.

intersection_update() 메서드는 Intersection() 메서드와 다릅니다. Intersection() 메서드는 새 집합을 반환하는 반면 Intersection_update() 메서드는 원본 집합에서 겹치지 않는 요소를 제거합니다.

# 语法如下:
set1.intersection_update(set2, set3, ...)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.intersection_update(set2)
print(set1)
# 输出结果如下:
{2, 3}

9.isdisjoint() 메서드는 두 세트에 동일한 요소가 포함되어 있는지 확인하는 데 사용됩니다. 그렇지 않으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

# 语法如下:
set1.isdisjoint(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {4, 5, 6}
print(set1.isdisjoint(set2))
print(set3.isdisjoint(set1))
# 输出如果如下:
False
True
10.issubset() 메서드는 집합이 다른 집합의 하위 집합인지 확인하는 데 사용됩니다. 집합의 모든 요소가 다른 집합에 포함되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환

# 语法如下:
set1.issubset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issubset(set2))
print(set1.issubset(set3))
# 输出结果如下:
False
True
11.issuperset() 메서드를 사용하여 집합이 다른 집합의 상위 집합인지 여부를 확인합니다. 집합에 다른 집합의 모든 요소가 포함되어 있으면 해당 집합은 다른 집합의 상위 집합이며, issuperset() 메서드는 True를 반환하고, 그렇지 않으면 False를 반환합니다.

# 语法如下:
set1.issuperset(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {1, 2, 3, 4}
print(set1.issuperset(set2))
print(set3.issuperset(set1))
# 输出结果如下:
False
True
12.pop() 메서드는 요소를 무작위로 제거하고 해당 요소의 값을 반환하는 데 사용됩니다.

# 语法如下:
set.pop()
# 案例如下:
# 随机移除一个元素:
set1 = {1, 2, 3, 4}
set1.pop()
print(set1)
# 结果如下:
{2, 3, 4}
# 输出返回值:
set1 = {1, 2, 3, 4}
print(set1.pop())
# 结果如下:
1
13.remove() 메서드는 컬렉션에서 지정된 요소를 제거하는 데 사용됩니다.

존재하지 않는 요소를 제거할 때 제거() 메서드는 오류를 생성하는 반면, Discard() 메서드는 오류를 생성하지 않기 때문에 이 메서드는 Discard() 메서드와 다릅니다.

# 语法如下:
set.remove(item)
# 案例如下:
set1 = {1, 2, 3, 4}
set1.remove(4)
print(set1)
# 输出结果如下:
{1, 2, 3}

14. symmetric_difference() 메서드는 두 집합에 중복되지 않는 요소 집합을 반환합니다. 즉, 두 집합에 모두 존재하는 요소를 제거합니다. 즉, 서로 다른 요소 집합을 반환합니다. 두 세트에서 서로.

# 语法如下:
set1.symmetric_difference(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.symmetric_difference(set2))
# 输出结果如下:
{1, 4}
15. symmetric_difference_update() 메서드는 다른 지정된 컬렉션의 현재 컬렉션에서 동일한 요소를 제거하고 다른 지정된 컬렉션의 다른 요소를 현재 컬렉션에 삽입합니다.

# 语法如下:
set1.symmetric_difference_update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4, 5}
set1.symmetric_difference_update(set2)
print(set1)
# 输出结果如下:
{1, 4, 5}
16. Union() 메소드는 모든 세트의 요소를 포함하는 두 세트의 합집합을 반환합니다. 중복된 요소는 한 번만 나타납니다.

# 语法如下:
set1.union(set2)
# 案例如下:
# 合并两个集合,重复元素只会出现一次:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.union(set2))
# 输出结果如下:
{1, 2, 3, 4}
# 合并多个集合:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5, 6, 7}
print(set1.union(set2, set3))
# 输出结果如下:
{1, 2, 3, 4, 5, 6, 7}
17.update(): 이 메소드는 현재 컬렉션을 수정하는 데 사용됩니다. 추가된 요소가 컬렉션에 이미 존재하는 경우 해당 요소는 한 번만 표시됩니다. 반복됩니다.

# 语法如下:
set1.update(set2)
# 案例如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.update(set2)
print(set1)
# 结果如下:
{1, 2, 3, 4}
3. 요약

1. 빈 컬렉션 만들기

set() 메서드를 사용하여 빈 컬렉션을 만드는 것은 매우 간단합니다. 단순히 빈 집합 객체를 생성하려면 set() 메서드를 호출하면 됩니다.

# 例子:
set_data = set()
print(set_data)
# 输出结果如下:
set()

2. 반복 가능한 객체를 집합으로 변환

set() 메서드는 다른 반복 가능한 객체(예: 목록, 튜플 및 문자열)를 집합으로 변환할 수도 있습니다.

# 案例:
list1 = [1, 2, 3, 4, 5]
set1 = set(list1)
print(set1)
tuple1 = (1, 2, 3, 4, 5)
set2 = set(tuple1)
print(set2)
str1 = "Hello, world!"
set3 = set(str1)
print(set3)
# 输出结果如下:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{'d', 'H', 'o', ',', 'l', 'e', '!', 'r', 'w', ' '}

3.set() 메소드의 다른 용도

문자열을 개별 문자로 분할하고 세트에 저장합니다.

# 例子:
str2 = "Python"
set4 = set(str2)
print(set4)
# 输出结果:
{'h', 't', 'o', 'n', 'P', 'y'}

4. 결론

컬렉션 개체에는 컬렉션의 요소를 추가, 제거, 병합, 비교 및 ​​조작하기 위한 다양한 내장 메서드가 있습니다. 다음은 집합 개체의 몇 가지 일반적인 메서드입니다.

add(): 집합에 단일 요소를 추가하는 데 사용됩니다.
  • clear(): 컬렉션의 모든 요소를 ​​지우는 데 사용됩니다.
  • copy(): 컬렉션의 복사본을 만드는 데 사용됩니다.
  • difference(): 두 집합 간의 차이를 반환하는 데 사용됩니다.
  • difference_update(): 다른 컬렉션과 동일한 컬렉션의 요소를 삭제하는 데 사용됩니다.
  • discard(): 컬렉션에서 지정된 요소를 삭제하는 데 사용됩니다.
  • intersection(): 두 집합의 교집합을 반환하는 데 사용됩니다.
  • intersection_update(): 컬렉션의 동일한 요소를 다른 컬렉션으로 유지하는 데 사용됩니다.

  • isdisjoint(): 두 세트에 공통 요소가 없는지 확인하는 데 사용됩니다.

  • issubset(): 집합이 다른 집합의 하위 집합인지 확인하는 데 사용됩니다.

  • issuperset(): 세트가 다른 세트의 상위 세트인지 여부를 결정하는 데 사용됩니다.

  • pop(): 요소를 무작위로 제거하는 데 사용됩니다.

  • remove(): 컬렉션에서 지정된 요소를 제거하는 데 사용됩니다.

  • symmetric_difference(): 두 집합의 대칭 차이 집합을 반환하는 데 사용됩니다.

  • symmetric_difference_update(): 집합에서 비공통 요소를 유지하고 공통 요소를 삭제하는 데 사용됩니다.

  • union(): 두 세트의 합집합을 반환하는 데 사용됩니다.

  • update(): 한 컬렉션의 요소를 다른 컬렉션에 추가하는 데 사용됩니다.

이러한 메서드는 모두 컬렉션 개체에서 메서드 이름을 호출하고 필요한 매개변수를 제공하여 사용할 수 있습니다. 예를 들어 컬렉션에 단일 요소를 추가하려면 add() 메서드를 사용하고, 한 컬렉션의 요소를 다른 컬렉션에 추가하려면 update() 메서드를 사용합니다.

위 내용은 Python에서 set 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제