-
Python Programming Basic - Append. 리스트 축약 (List Comprehensions)Python/Python Basic Lesson 2020. 3. 2. 20:42
리스트 객체를 이용하여 조합, 필터링 등의 추가적인 연산을 통하여 새로운 리스트 객체를 생성하는 경우, 리스트 내장은 매우 효율적이다.
<표현식> for <아이템> in <시퀀스 타입 객체> (if <조건식>) - 시퀀스 타입 객체 : 리스트, 튜플, 셋
- 아이템 : 리스트 객체의 개별 아이템
- 표현식 : 개별 <아이템>을 사용하여 사상함수 형태로 새로운 리스트 객체를 생성
- if 조건식 : 조건식에 맞는 원본 리스트의 아이템을 선별하는 경우. 생략가능
# [ 0, 1, 2, 3, 4 ] 요소 가진 리스트 만들기 (일반적인 문법) lst = [] for i in range(5): lst.append(i) print(lst) [0, 1, 2, 3, 4]
# List Comprehensions을 이용한 방법 lst = [ i for i in range(5) ] print(lst) [0, 1, 2, 3, 4]
# [ 0, 2, 4, 6, 8 ] 요소 가진 리스트 만들기 (일반적인 문법) lst = [] for i in range(5): i = i * 2 lst.append(i) print(lst) [0, 2, 4, 6, 8]
# List Comprehensions을 이용한 방법 lst = [ i * 2 for i in range(5) ] print(lst) [0, 2, 4, 6, 8]
# 이중 For문 nums = [1, 2, 3, 4] fruit = ["Apples", "Peaches", "Pears", "Bananas"] print([(i, f) for i in nums for f in fruit]) [(1, 'Apples'), (1, 'Peaches'), (1, 'Pears'), (1, 'Bananas'), (2, 'Apples'), (2, 'Peaches'), (2, 'Pears'), (2, 'Bananas'), (3, 'Apples'), (3, 'Peaches'), (3, 'Pears'), (3, 'Bananas'), (4, 'Apples'), (4, 'Peaches'), (4, 'Pears'), (4, 'Bananas')]
# 이중 for문과 조건식 nums = [1, 2, 3, 4] fruit = ["Apples", "Peaches", "Pears", "Bananas"] print([(i, f) for i in nums for f in fruit]) [(1, 'Apples'), (1, 'Peaches'), (1, 'Pears'), (1, 'Bananas'), (2, 'Apples'), (2, 'Peaches'), (2, 'Pears'), (2, 'Bananas'), (3, 'Apples'), (3, 'Peaches'), (3, 'Pears'), (3, 'Bananas'), (4, 'Apples'), (4, 'Peaches'), (4, 'Pears'), (4, 'Bananas')] print([(i, f) for i in nums for f in fruit if f[0] == "P"]) [(1, 'Peaches'), (1, 'Pears'), (2, 'Peaches'), (2, 'Pears'), (3, 'Peaches'), (3, 'Pears'), (4, 'Peaches'), (4, 'Pears')]
# list comprehension (리스트축약) if 문 사용법 [ "참값" if 조건 else "거짓값" for 변수 in [리스트|튜플|문자열] ] # 리스트 / 튜플 lst = [ 1, -1, 2, -1, -3, 4, 1 ] lst = [ '양수' if x > 0 else '음수' for x in lst ] print(lst) ['양수', '음수', '양수', '음수', '음수', '양수', '양수'] # 문자열 lst = [ '대문자' if x.isupper() else '소문자' for x in 'AbCDdfd' ] print(lst) ['대문자', '소문자', '대문자', '대문자', '소문자', '소문자', '소문자']
'Python > Python Basic Lesson' 카테고리의 다른 글
[파이썬 강의 문제풀이] 소수(prime number) 구하기 (0) 2020.05.14 Python Programming Basic - Append. Regular Expression (정규식 표현식) 기호 (0) 2020.03.04 Python Programming Basic - Append. 문자열 포맷팅 (0) 2020.03.02 Python Programming Basic - Append. 내장함수 (Built-in function) (0) 2020.03.02 Python Programming Basic - 10. 날짜 다루기 (0) 2020.03.02 Python Programming Basic - 9. 파일읽고 / 쓰기 (0) 2020.03.02 Python Programming Basic - 8. 함수 (function) (0) 2020.03.02 Python Programming Basic - 7. 딕셔너리 함수 (0) 2020.03.02