Python - Set 요소 추가, 삭제 방법

Set에 요소를 추가하거나 삭제하는 방법을 소개합니다.

1. add()로 요소 추가

add()는 인자로 전달된 요소를 Set에 추가합니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
cities.add('Bangkok')
print(cities)

Output:

{'Tokyo', 'Washington', 'Paris', 'Bangkok', 'Beijing', 'Seoul'}

2. update()로 요소 추가

update() 함수로 리스트를 전달하면, 리스트의 요소들이 모두 Set에 추가됩니다.

cities = {'Seoul', 'Tokyo', 'Beijing'}
cities.update(['Bangkok', 'Washington', 'Paris'])
print(cities)

Output:

{'Seoul', 'Beijing', 'Washington', 'Tokyo', 'Bangkok', 'Paris'}

update()는 리스트 뿐만 아니라 Set를 인자로 받습니다. 참고로, Set는 중복을 허용하지 않기 때문에, 중복된 요소가 전달되도 하나만 추가됩니다.

cities = {'Seoul', 'Tokyo', 'Beijing'}
cities.update({'Seoul',  'Washington', 'Paris'})
print(cities)

Output:

{'Paris', 'Washington', 'Seoul', 'Tokyo', 'Beijing'}

Set에 두개 이상의 다른 Set들의 요소들을 추가할 수도 있습니다.

cities = {'Seoul', 'Tokyo', 'Beijing'}
cities.update({'Seoul',  'Washington'}, {'Paris', 'Bangkok'}, {'Hanoi'})
print(cities)

Output:

{'Beijing', 'Hanoi', 'Tokyo', 'Seoul', 'Paris', 'Washington', 'Bangkok'}

3. remove()로 요소 삭제

remove()는 Set에서 인자로 전달된 요소를 삭제합니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
cities.remove('Seoul')
print(cities)

Output:

{'Paris', 'Beijing', 'Washington', 'Tokyo'}

만약 Set에 존재하지 않는 요소를 삭제하려고 시도하면 아래와 같이 에러가 발생합니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
cities.remove('Bangkok')
print(cities)
Traceback (most recent call last):
  File "/home/js/blog-code/python_example/set_example.py", line 40, in <module>
    cities.remove('Bangkok')
KeyError: 'Bangkok'

4. discard()로 요소 삭제

discard()remove()처럼 인자로 전달된 요소를 Set에서 삭제합니다. 하지만, discard()는 존재하지 않는 아이템을 삭제할 때 에러가 발생하지 않습니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
cities.discard('Seoul')
cities.discard('Bangkok')
print(cities)

Output:

{'Tokyo', 'Washington', 'Beijing', 'Paris'}

5. pop()으로 요소 삭제

pop()은 Set의 마지막 요소를 제거하고 그 값을 리턴합니다. 하지만 Set는 순서가 보장되지 않기 때문에 어떤 요소가 삭제될지 예상할 수 없습니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
removed = cities.pop()
print(removed)
print(cities)

Output:

Paris
{'Tokyo', 'Washington', 'Seoul', 'Beijing'}

6. del로 Set 객체 제거

del으로 Set 객체를 제거할 수 있습니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
del cities

Set 객체가 완전히 삭제되었기 때문에, 아래와 같이 삭제된 Set를 접근하려고 시도하면 아래와 같이 에러가 발생합니다.

cities = {'Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris'}
del cities
print(cities)

Output:

Traceback (most recent call last):
  File "/home/mjs/IdeaProjects/python-ex/ex3.py", line 3, in <module>
    print(cities)
NameError: name 'cities' is not defined
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha