[정보처리기사] Python의 set과 list에 대해 알아보자

2025. 10. 15. 13:00정보처리기사

728x90
반응형

 

 안녕하세요. 진득 코딩입니다.

 

 감사하게도 개발자로 취업하게 되어 일을 하게 된지 벌써 반년이라는 시간이 지나가게 되었습니다.

 

 이제는 취업을 준비하는 사람으로서 코딩을 하거나 공부하는 것이 아닌 프로로서 개발을 해야한다는 생각에 평소에 꾸준히 하던 블로그도 하지 않고 열심히 살아왔다고 생각했습니다.

 

 하지만 점점 개발자로서 개발을 하는 것이 아닌 주어진 일을 수행하고 오늘 하루 넘기는게 익숙해져버린게 아닐까라는 생각이 들게 되었습니다.

 

 비전공자로서 뒤늦게 시작하면서 뒤쳐진다는 느낌에 시작한 블로그였고 크게 특별할 것이 없다고 생각했던 블로그 포스팅이 저의 장점인 진득하게 노력하는 부분을 빛내주고 있었다는 생각이 들었습니다.

 

 전처럼 꾸준하고 알찬 포스팅은 아니지만 틈나는대로 다시 포스팅을 시작해보려고 합니다.

 


 

 최근 정보처리기사 시험이 이론적인 부분보다 C언어, JAVA, 파이썬 코드 문제의 비중이 높아지고 난이도가 올라감에 따라 대표적인 언어들의 이해도의 중요성이 점점 높아지고 있습니다.

 

 이번 시간에는 파이썬의 컬렉션(collection) 자료형인 set과 list에 대해 알아보도록 하겠습니다.

 

Set

 

# 집합 예제
fruits_set = {"apple", "banana", "cherry", "apple"}
print(fruits_set)               # {'apple', 'banana', 'cherry'} → 중복 자동 제거
fruits_set.add("orange")        # 요소 추가
fruits_set.discard("banana")    # 요소 삭제
print(fruits_set)               # {'apple', 'cherry', 'orange'}

# 집합 연산
a = {1, 2, 3}
b = {3, 4, 5}
print(a & b)  # 교집합 → {3}
print(a | b)  # 합집합 → {1, 2, 3, 4, 5}
print(a - b)  # 차집합 → {1, 2}

 

  •  set은 순서가 없고, 중복을 허용하지 않는 자료형입니다.

  • 수학의 집합 개념과 유사하게, 교집합/합집합/차집합 등의 연산이 가능합니다.
특징 설명
순서(Order) 요소의 순서가 없음(인덱스 접근 불가)
중복(Duplicates) 중복된 값 자동 제거
변경 가능(Mutable) 요소 추가, 삭제 가능
집합 연산 가능 &(교집합), `(합집합)

 

List

 

# 리스트 예제
fruits = ["apple", "banana", "cherry", "apple"]
print(fruits)               # ['apple', 'banana', 'cherry', 'apple']
print(fruits[1])            # banana
fruits.append("orange")     # 요소 추가
fruits.remove("banana")     # 요소 삭제
print(fruits)               # ['apple', 'cherry', 'apple', 'orange']

 

  • List는 순서가 있는 데이터의 집합입니다.

  • 중복된 값을 허용하고, 인덱스로 접근할 수 있습니다.

특징 설명
순서(Order) 요소들이 저장된 순서가 유지됨
중복(Duplicates) 중복된 값 허용
변경 가능(Mutable) 요소 추가, 수정, 삭제 가능
인덱스 사용 가능 ex) my_list[0]

 

set과 list 비교

 

  •   정리하자면 list는 순서가 있고 중복을 허용하는 컬렉션 자료형입니다.

  • 반면에 set은 순서가 없고 중복을 허용하지 않는 컬렉션 자료형입니다.

  • 즉, 둘 다 데이터를 여러 개 담는 자료형이지만, 데이터의 순서 보존 여부와 중복 허용 여부가 다릅니다.


 

 이번 시간에는 Phython의 컬렉션 자료형인 set과 list의 특징과 차이를 함께 알아보았습니다. 시험 문제에서 중괄호({})로 데이터들이 묶여있으면 set, 대괄호([])로 데이터들이 묶여있다면 list라는 점을 기억해두면 좋겠습니다.

 

 이번 포스팅은 여기까지입니다. 끝까지 봐주셔서 감사합니다.😀

728x90
반응형
LIST