4. 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기
4-1. 가장 작은 수와 가장 큰 수 구하기
- 먼저 리스트 a의 첫 번째 요소 a[0]을 변수 smallest에 저장한 다음 for로 리스트의 요소를 모두 반복하며 i 가 smallest보다 작으면 smallest에 i 를 할당한다.
- 즉, 숫자를 계속 비교하여 숫자가 작으면 smallest를 바꾸는 방식이다.>>> a = [38, 21, 53, 62, 19] >>> smallest = a[0] >>> for i in a: ... if i < smallest: ... smallest = i ... >>> smallest 19
- 가장 큰 수를 구할 때는 부등호를 반대로 바꾸면 된다.
- 그렇지만 하나씩 비교해서 가장 큰 수와 가장 작은 수를 구하기에는 번거롭다고 느껴진다.>>> a = [38, 21, 53, 62, 19] >>> largest = a[0] >>> for i in a: ... if i > largest: ... largest = i ... >>> largest 62
- 앞에서 배운 리스트를 정렬하는 메서드인 sort를 이용하면 리스트를 작은 순서대로 정렬(오름차순)하여 첫 번째 요소가 가장 작은 수임을 알 수 있다.
- 반대로 큰 순서대로 정렬(내림차순)하면 첫 번째 요소가 가장 큰 수가 된다.
>>> a = [38, 21, 53, 62, 19] >>> a.sort() >>> a[0] 19 >>> a.sort(reverse=True) # 리스트를 반대로 뒤집음(내림차순 정렬) >>> a[0] 62
- 파이썬에서 제공하는 min, max 함수를 사용하면 더 간단하게 최대값, 최소값을 구할 수 있다.
- min은 리스트에서 가장 작은 값을 구하고, max는 가장 큰 값을 구한다.>>> a = [38, 21, 53, 62, 19] >>> min(a) 19 >>> max(a) 62
4-2. 리스트에서 요소의 합계 구하기
- 요소의 합계를 구할 때도 반복문을 사용하면 된다.
- 변수 x에 0을 할당하고, for 반복문으로 리스트의 요소를 모두 반복하면서 요소를 x에 계속 더해주면 된다.
>>> a = [10, 10, 10, 10, 10] >>> x = 0 >>> for i in a: ... x += i ... >>> x 50
- 이때 x에는 반드시 0을 할당해야 한다. 그렇지 않으면 없는 변수에 값을 더하게 되어 에러가 발생하고, 0부터 시작해서 숫자를 더해야 제대로 된 합계를 구할 수 있다.
- 합계를 구하는 sum 함수를 사용하면 더 간단하게 요소의 합을 구할 수 있다.
- 이렇게 sum에 리스트를 넣어서 간단하게 요소의 합계를 구할 수 있다.>>> a = [10, 10, 10, 10, 10] >>> sum(a) 50
※ 여기서 설명한 min, max, sum에는 리스트뿐만 아니라 모든 반복 가능한 객체(iterable)를 넣을 수 있다.
- 반복 가능한 객체 : 리스트, 튜플, 딕셔너리, 세트, range 등
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 22 정리(6) - 리스트에 map 사용, 튜플 응용 (0) | 2022.01.23 |
---|---|
파이썬 코딩도장 Unit 22 정리(4) - 리스트 표현식 사용 (0) | 2022.01.21 |
파이썬 코딩도장 Unit 22 정리(2) : 리스트 (0) | 2022.01.19 |
파이썬 코딩도장 Unit 22 정리(1) : 리스트 조작 (0) | 2022.01.18 |
파이썬 코딩도장 Unit 21 정리 : 터틀 그래픽스 (0) | 2022.01.17 |