안녕하세요, 이번 시간엔 컬렉션 자료형에 대해 알아보겠습니다.
Python엔 기본적으로 네 가지 기본 컬렉션 자료형이 있는데, 이름은 아래와 같습니다.
종류가 이렇게 많은데 어떻게 다 공부하냐고요??
이번에도 쉽게 설명드릴테니 걱정하지마세요!!
리스트는 파이썬에서 가장 자주 사용되는 데이터 타입 중 하나입니다.
1) list는 []
로 생성합니다.
2) 순서가 있는 컬렉션이며,
3) 변경 가능(mutable)합니다. 여기서 변경이 가능하나는 것은 리스트 생성 후에 요소를 추가, 제거, 또는 변경할 수 있다는 뜻입니다.
4) 순서가 있는 시퀀스 타입이기 때문에 인덱싱과 슬라이싱이 가능합니다.
# 리스트 생성
fruits = ["apple", "banana", "cherry"]
print(fruits) # 출력 : ["apple", "banana", "cherry"]
# 리스트에 요소 추가
fruits.append("orange")
print(fruits) # 출력 : ["apple", "banana", "cherry", "orange"]
# 리스트에서 요소 제거
fruits.remove("banana")
print(fruits) # 출력 : ["apple", "banana", "cherry"]
# 리스트 인덱싱
print(fruits[1]) # 출력 : "cherry"
# 리스트 슬라이싱
print(fruits[:2]) # 출력 : ["apple", "cherry"]
# 리스트 요소 변경
fruits[1] = "grape"
print(fruits) # 출력 : ["apple", "grape", "cherry"]
튜플은 리스트와 비슷해보이지만 다른 데이터 타입입니다.
1) 한 번 생성되면 변경 불가한 특성 (immutable)을 가지고있으며,
2) ()
를 사용하여 생성할 수 있습니다.
3) tuple도 list와 마찬가지로 순서가 있고
4) 인덱싱과 슬라이싱이 가능합니다.
# 튜플 생성
fruits = ("apple", "banana", "cherry")
print(fruits)
# 튜플 인덱싱
print(fruits[1]) # 출력 : "banana"
# 튜플 슬라이싱
print(fruits[:2]) # 출력 : ("apple", "banana")
# 튜플은 요소 변경이 불가능
# fruits[1] = "orange" # TypeError를 발생시킵니다.
# fruits.remove("banana") # AttributeError를 발생시킵니다.
세번째는 set입니다.
1) set는 중괄호 {} 또는 set() 함수를 사용하여 생성할 수 있습니다.
2) 중복을 허용하지 않는 컬렉션으로
3) 순서가 없습니다.
4) 따라서 인덱싱이나 슬라이스가 불가능합니다.
# 세트 생성
set_fruits = {"apple", "cherry", "cherry", "banana"}
print(set_fruits) # 출력 : {"apple", "banana", "cherry"}
# 세트에 요소 추가
fruits.add("orange")
print(fruits) # 출력 : {"apple", "banana", "cherry", "orange"}
# 세트 인덱싱
print(set_fruits[1]) # TypeError를 발생시킵니다.
마지막은 dictionary 타입입니다.
1) 딕셔너리는 키(key)와 값(value) 쌍으로 이루어진 컬렉션입니다.
2) 순서가 없으며
3) 키는 변경할 수 없는 타입이어야 합니다.
4) 중괄호 {}를 사용하여 생성가능하며
5) 데이터에 빠르게 접근할 수 있는 효율적인 방법을 제공합니다.
# 딕셔너리 생성
person = {
"name": "Zero",
"age": 27,
"city": "Seoul"
}
print(person) # 출력 : {"name": "Zero", "age": 27,"city": "Seoul"}
# 딕셔너리에 요소 추가
person["hobby"] = "Sleep"
print(person) # 출력 : {"name": "Zero", "age": 27,"city": "Seoul", hobby": "person"}
# 딕셔너리에서 요소 제거
del person["age"]
print(person) # # 출력 : {"name": "Zero","city": "Seoul", hobby": "person"}
# key값을 통해 value값 찾기
print(person["city"]) # 출력 : "Seoul"
#
지금까지 리스트, 튜플, 세트, 딕셔너리에 대해 공부를 해보았는데요,
이 네가지 타입의 차이점을 한 눈에 보기 쉽게 정리한 표만 보여드리고 이번 포스팅은 여기서 마치도록 하겠습니다.
특성 | 리스트 | 튜플 | 세트 | 딕셔너리 |
---|---|---|---|---|
순서 유지 | 유지함 | 유지함 | 유지하지 않음 | 유지하지 않음 |
변경 가능성 | 가능 | 불가능 | 가능 | 가능 (값에 대해서만) |
중복 요소 | 허용함 | 허용함 | 허용하지 않음 | 키는 허용하지 않음, 값은 허용함 |
접근 방법 | 인덱스를 사용 | 인덱스를 사용 | 값을 직접 접근할 수 없음, 존재 여부 확인 가능 | 키를 사용 |
그럼 안뇽!