728x90
반응형
- 개요
파이썬에서 시퀀스 자료형이란 순서대로 나열된 데이터 항목들의 집합을 나타내는 자료형을 의미한다
이런 시퀀스 자료형에서도 각기 다른 특징으로 구분할 수 있는데, 다음과 같다
- 서로 다른 자료형의 데이터를 저장할 수 있는지 여부
- Container 시퀀스 : 서로 다른 자료형을 저장하는 시퀀스
- 예시) list, tuple, dictionary, collections.deque
- Flat 시퀀스 : 단일 자료형만 저장할 수 있는 시퀀스
- 에시) str, bytes, bytearray, array.array, memoryview
- Container 시퀀스 : 서로 다른 자료형을 저장하는 시퀀스
- 저장된 데이터를 변경할 수 있는지 / 없는지 여부
- mutable 시퀀스 : 저장된 데이터를 변경할 수 있는 시퀀스
- 예시) list, bytearray, array.array, memoryview, collections.deque
- immutable 시퀀스 : 저장된 데이터를 변경할 수 없는 시퀀스
- 예시) tuple, str, bytes
- mutable 시퀀스 : 저장된 데이터를 변경할 수 있는 시퀀스
이제 시퀀스에 대한 여러 동작을 수행하는 코드를 작성하고 이를 실행시켜본다
1) 리스트 컴프리헨션
리스트 컴프리헨션은 기존에 존재하는 리스트를 기반으로 새로운 리스트를 생성하는 기능이다
리스트 컴프리헨션을 사용하면 보다 간결하고 짧은 방법으로 새로운 리스트를 생성할 수 있다
1 - 1) 일반적인 리스트 컴프리헨션
chars = "abcdefghijklmnopqrstuvwxyz"
code_list = [ord(s) for s in chars]
print(code_list)
위와 같이 코드를 구성하였다
이때 리스트 컴프리헨션은 다음과 같이 구성하였다
수행할 로직 / 기존에 존재하는 리스트를 대상으로 수행하는 반복문(for)

리스트 컴프리헨션의 실행 결과를 출력하면 위와 같다
1 - 2) map과 filter를 사용한 리스트 컴프리헨션
...
code_list2 = list(filter(lambda x : x % 2 == 0, map(ord, chars)))
print(code_list2)
이번에는 선택한 시퀀스에 선택한 함수를 적용하는 map 함수와
조건에 따라 시퀀스를 순회하는 filter 함수를 같이 사용하여 새로운 조건부 리스트를 생성하였다
이때 리스트 컴프리헨션은 다음과 같이 구성하였다
list(filter(조건식, map(수행할 함수, 기존의 리스트)))

리스트 컴프리헨션의 실행 결과를 출력하면 위와 같다
조건에 따라 짝수인 데이터만 리스트에 저장한 것을 확인할 수 있다
728x90
반응형
'Python > 파이썬 심화' 카테고리의 다른 글
| 파이썬 시퀀스 (3) (0) | 2025.08.05 |
|---|---|
| 파이썬 시퀀스 (2) (0) | 2025.08.05 |
| 네임드 튜플 (2) (0) | 2025.08.04 |
| 네임드 튜플 (1) (0) | 2025.08.04 |
| 매직 메서드 (3) (0) | 2025.08.04 |