Tech & Development/Programming Languages
[Python] 자료형 - 리스트 (List)
Theo (테오)
2023. 1. 18. 19:20
반응형
Python에서 list는 순서가 있는 요소들의 집합을 나타내는 객체입니다. list 객체는 인덱싱, 슬라이싱, 연산, 관련된 함수들(append, extend, insert, remove, pop, count, sort, reverse, ...)를 지원합니다.
- 순서를 가지며, 인덱싱, 슬라이싱 기능을 지원
- 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 있음
- 변경 가능(mutable) 객체
- 요소들의 순서를 유지하며, 인덱싱, 슬라이싱 기능을 지원
# list 생성
lst = [1, 2, 3, 4, 5]
print(lst) # [1, 2, 3, 4, 5]
# list 요소 추가
lst.append(6)
print(lst) # [1, 2, 3, 4, 5, 6]
# list 요소 제거
lst.remove(6)
print(lst) # [1, 2, 3, 4, 5]
# list 요소 포함 여부 확인
print(3 in lst) # True
또한, list 객체는 []로도 생성 가능합니다.
lst = [1, 2, 3]
print(lst) # [1, 2, 3]
인덱싱은 list[index] 형식으로 특정 요소를 참조할 수 있고, 슬라이싱은 list[start:end] 형식으로 특정 범위의 요소들을 참조할 수 있고, list.index(element) 함수를 사용하여 특정 요소의 인덱스를 알아낼 수 있습니다.
lst = [1, 2, 3, 4, 5]
print(lst[2]) # 3
print(lst[1:3]) # [2, 3]
print(lst.index(3)) # 2
list를 set으로 변환하려면 set() 함수를 사용합니다.
lst = [1, 2, 3, 4, 5]
s = set(lst)
print(s) # {1, 2, 3, 4, 5}
set() 함수는 입력된 객체를 set 자료형으로 변환합니다.
- set() 함수로 변환된 set은 원본 list 객체와 다른 메모리 공간을 사용
- list를 set으로 변환하면, set의 순서를 유지하지 않음
- set은 수학적 집합 개념으로, 중복된 요소를 허용하지 않음
리스트 연산
list는 순서가 있는 요소들의 집합을 나타내는 객체로, 리스트 연산을 통해 다양한 연산을 수행 할 수 있습니다.
합집합 (+)
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = list1 + list2
print(list3) # [1, 2, 3, 4, 5, 6]
교집합 (&)
list1 = [1, 2, 3]
list2 = [2, 3, 4]
intersection = set(list1) & set(list2)
intersection_list = list(intersection)
print(intersection_list) # [2, 3]
차집합 (-)
list1 = [1, 2, 3]
list2 = [2, 3, 4]
diff = set(list1) - set(list2)
diff_list = list(diff)
print(diff_list) # [1]
대칭 차집합 (^)
list1 = [1, 2, 3]
list2 = [2, 3, 4]
symmetric_diff = set(list1) ^ set(list2)
symmetric_diff_list = list(symmetric_diff)
print(symmetric_diff_list) # [1, 4]
리스트 곱셈 (*)
list1 = [1, 2, 3]
list2 = list1 * 3
print(list2) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
리스트 정렬
list를 정렬하는 방법에는 다음과 같은 방법이 있습니다.
list.sort() method
기본적으로 오름차순으로 정렬하며, 원본 리스트를 정렬합니다.
lst = [3, 1, 2, 5, 4]
lst.sort()
print(lst) # [1, 2, 3, 4, 5]
sorted() 함수
오름차순으로 정렬하며, 원본 리스트를 변경하지 않습니다.
lst = [3, 1, 2, 5, 4]
sorted_lst = sorted(lst)
print(sorted_lst) # [1, 2, 3, 4, 5]
list.sort(key=...) method
key 값에 해당하는 값을 기준으로 정렬합니다.
lst = [{"age": 20, "name": "John"}, {"age": 25, "name": "Alex"}]
lst.sort(key=lambda x: x["age"])
print(lst) # [{"age": 20, "name": "John"}, {"age": 25, "name": "Alex"}]
list.sort(key=..., reverse=True) method
정렬 순서를 내림차순으로 변경합니다.
lst = [3, 1, 2, 5, 4]
lst.sort(reverse=True)
print(lst) # [5, 4, 3, 2, 1]
반응형