리스트에 적용할 수 있는 기본 함수: min(), max(), sum()
min(), max(), sum() 함수들은 리스트를 매개변수로 넣어 사용하는 매우 기본적인 함수이다.
함수 | 설명 |
min() | 리스트 내부에서 최솟값을 찾는다. |
max() | 리스트 내부에서 최댓값을 찾는다. |
sum() | 리스트 내부에서 값을 모두 더한다. |
reversed() 함수로 리스트 뒤집기
reversed() 함수는 리스트에서 요소의 순서를 뒤집고 싶을 때 사용한다. reversed() 함수의 매개변수에 리스트를 넣으면 리스트를 뒤집을 수 있다.
#리스트를 선언하고 뒤집는다.
list_a = [1, 2, 3, 4, 5]
list_reversed = reversed(list_a)
enumerate() 함수와 반복문 조합하기
리스트의 요소를 반복할 때 현재 인덱스가 몇 번째인지 확인해야 하는 경우가 많은데, 파이썬은 이런 코드를 쉽게 작성할 수 있도록 enumerate() 함수를 제공한다.
딕셔너리의 items() 함수와 반복문 조합하기
enumerate() 함수와 반복문을 조합해서 for i, value in enumerate(리스트) 형태로 반복문을 작성할 수 있었던 것처럼 딕셔너리는 items() 함수와 함께 사용하면 키와 갑을 조합해서 쉽게 반복문을 작성할 수 있다.
리스트 내포
프로그램을 만들 때는 반복문을 사용해 리스트를 재조합하는 경우가 많다. 다음코드는 range(0, 20, 2)로 0부터 20 사이의 짝수를 구한 뒤, 제곱해서 새로운 리스트를 만든다.
※ 반복문을 사용한 리스트 생성
파이썬 프로그래밍 언어는 이를 한 줄로 작성할 수 있는 방법을 제공한다.
※ 리스트 안에 for문 사용하기
이런 구문을 리스트 내포(list comprehensions)라고 부른다. 리스트 내포는 다음과 같은 형태로 사용한다
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는것]
#if 구문 넣어 조건을 조합하기
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는것 if 조건문]
구문 내부에 여러 줄 문자열을 사용했을 때 문제점
조건문과 반복문에는 들여쓰기를 한다. 그런데 구문 내부에 여러 줄의 문자열을 만들면 예상치 못한 실행 결과가 나올 때가 있다. 여러줄 문자열 앞에 있는 들여쓰기가 문자열에 포함되어 들어가는 것을 볼수 있다. 이와 같이 예상치 못한 들여쓰기를 막으려면 다음과 같이 입력한다.
※if 조건문과 여러 줄 문자
실행 결과는 제대로 나오지만 코드가 이상한 구조를 가지게 되었다. 여러 줄 문자열을 if 조건문, for 반복문, while 반복문 등의 구문과 함께 사용하면 모두 이런 문제가 발생한다. 따라서 구문 내부에서는 여러 줄 문자열을 거의 사용하지 않는 편이다. 하지만 그렇다고 다음과 같이 문자열을 한줄로 길게 적으면 코드가 복잡해진다.
※ if 조건문과 긴 문자열
이러한 여러 줄 문자열과 구문을 함께 사용할 때 발생하는 문제를 해결하는 방법은 많다. 해결 방법 중 몇 가지를 살펴보면서 파이썬의 기능을 추가로 알아보자.
※ 괄호로 문자열 연결하기
※ 문자열의 join() 함수
문자열의 join() 함수로 해결하는 경우도 있다. join() 함수는 다음과 같은 형태로 사용한다.
문자열.join(문자열로 구성된 리스트)
join() 함수는 리스트의 요소를 문자열로 연결한다. 이를 활용하면 여러 줄 문자열과 if 구문을 조합했을 때의 문제를 해결할 수 있다.
이터레이터
반복문의 구문은 다음과 같다.
for 반복자 in 반복할 수 있는것
여기서 '반복할 수 있는것'을 프로그래밍 용어로 이터러블(iterable)이라고 한다. 즉 이터러블 내부에 있는 요소들을 차례차례 꺼낼 수 있는 객체를 의미한다. 리스트, 딕셔너리, 문자열, 튜플 등은 모두 내부에서 요소를 차례차례 꺼낼 수 있으므로 이터러블이다.
이터러블 중에서 next() 함수를 적용해 하나하나 꺼낼 수 있는 요소를 이터레이터(iterator)라고 하는데 이터레이터의 예를 살펴보자.
'Python' 카테고리의 다른 글
파이썬 클래스 (0) | 2023.07.30 |
---|---|
파이썬 함수 (0) | 2023.07.30 |
파이썬 범위 자료형과 while 반복문 (0) | 2023.07.30 |
파이썬 딕셔너리와 반복문 (0) | 2023.07.30 |
파이썬 반복문 (0) | 2023.07.29 |