티스토리 뷰
- 리스트에 적용할 수 있는 기본 함수: min(), max(), sum()
- 리스트 뒤집기: reversed()
- 현재 인덱스가 몇 번째인지 확인하기: enumerate()
- 딕셔너리로 쉽게 반복문 작성하기: items()
- 리스트 안에 for문 사용하기: 리스트 내포
1. 리스트에 적용할 수 있는 기본 함수: min(), max(), sum()
min() | 리스트 내부에서 최솟값을 찾음 |
max() | 리스트 내부에서 최댓값을 찾음 |
sum() | 리스트 내부에서 값을 모두 더함 |
예제
numbers = [103, 52, 273, 32, 77]
print(min(numbers)) # 최솟값
print(max(numbers)) # 최댓값
print(sum(numbers)) # 값 모두 더함
</>
32
273
537
min() 함수와 max() 함수는 매개변수에 리스트 이름을 적어 최솟값과 최댓값을 찾음
그러나 매개변수에 리스트를 사용하지 않고 숫자 여러개를 나열해서 최솟값과 최댓값을 찾을 수 있음
print(min(103, 52, 273))
</>
52
print(max(103, 52, 273))
</>
273
2. 리스트 뒤집기: reversed()
리스트에서 요소의 순서를 뒤집고 싶을 때 reversed() 함수 사용.
reversed() 함수의 매개변수에 리스트를 넣으면 리스트를 뒤집을 수 있음.
reversed() 함수의 결과는 제너레이터(파이썬의 특별한 기능) : 나중에 나옴 # 193p
예제
list_a = [1, 2, 3, 4, 5]
list_reversed = reversed(list_a)
print(list_reversed)
print(list(list_reversed))
</>
<list_reverseiterator object at 0x7fbad3a8ce20> # 이터레이터 (나중에 나옴)
[5, 4, 3, 2, 1]
for i in reversed(list_a):
print("-", i)
</>
[5, 4, 3, 2, 1]
- 5
- 4
- 3
- 2
- 1
확장 슬라이싱 : 리스트를 뒤집을 수 있는 추가적인 방법. 리스트에 [::-1]을 붙이면 리스트의 내용이 뒤집힘
numbers = [1, 2, 3, 4, 5]
print(numbers)
print(numbers[::-1])
</>
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
3. 현재 인덱스가 몇 번째인지 확인하기: enumerate()
리스트의 요소와 인덱스를 함께 출력해줌 [순서, 요소]
example_list = ["요소A", "요소B", "요소C"]
# 그냥 출력
print(example_list)
print()
# enumerate() 함수를 적용
print(enumerate(example_list))
print()
# list() 함수로 강제 변환해 출력
print(list(enumerate(example_list)))
</>
['요소A', '요소B', '요소C']
<enumerate object at 0x7fc07e2a4240>
[(0, '요소A'), (1, '요소B'), (2, '요소C')]
반복문과 조합하기 : for 반복문의 반복 변수를 'i, element'와 같은 형태로 작성할 수 있음
for i, element in enumerate(example_list):
print("{}번째 요소는 {}입니다.".format(i, element))
</>
0번째 요소는 요소A입니다.
1번째 요소는 요소B입니다.
2번째 요소는 요소C입니다.
4. 딕셔너리로 쉽게 반복문 작성하기: items()
리스트를 enumerate()함수를 이용해 반복문을 작성한 것처럼
딕셔너리를 items() 함수와 함께 사용하면 키와 값을 조합해 반복문을 작성할 수 있음
# 기본 형태
딕셔너리.items()
딕셔너리의 items() 함수와 반복문
example_dictionary = {
"키A": "값A",
"키B": "값B",
"키C": "값C"
}
# 딕셔너리의 items() 함수 결과 출력
print(example_dictionary.items())
</>
dict_items([('키A', '값A'), ('키B', '값B'), ('키C', '값C')])
for key, value in example_dictionary.items():
print("dictionary[{}] = {}".format(key, value))
</>
dictionary[키A] = 값A
dictionary[키B] = 값B
dictionary[키C] = 값C
5. 리스트 안에 for문 사용하기: 리스트 내포 list comprehensions
프로그램을 만들 때 반복문을 사용해 리스트를 재조합하는 경우에 리스트 내포 사용
# 기본 형태
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것]
range(0, 20, 2)로 0과 20 사이의 짝수를 구한 뒤, 제곱해서 새로운 리스트 만드는 방법
(1) 반복문을 사용한 리스트 생성
# 변수 선언
array = []
# 반복문 적용
for i in range(0, 20, 2):
array.append(i * i)
# 출력
print(array)
</>
[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]
(2) 리스트 내포 사용하기
"range(0, 20, 2)의 요소를 i 라고 할 때 i * i 로 리스트를 재조합해 주세요" 라는 코드
# 리스트 선언
array = [i * i for i in range(0, 20, 2)]
# 출력
print(array)
</>
[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]
(3) 조건을 활용한 리스트 내포
뒤에 if 구문을 넣어 조건을 조합
# 기본 형태
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것 if 조건문]
# 리스트 선언
array = ["사과", "자두", "초콜릿", "바나나", "체리"]
output = [fruit for fruit in array if fruit != "초콜릿"]
# 출력
print(output)
</>
['사과', '자두', '바나나', '체리']
'Language > PYTHON' 카테고리의 다른 글
함수 만들기(1) 함수 기본/ 매개변수 기본 (0) | 2021.09.29 |
---|---|
while 반복문 (0) | 2021.08.09 |
for 반복문 (0) | 2021.06.20 |
딕셔너리 (0) | 2021.06.20 |
리스트 (2) 리스트 연산자 (0) | 2021.06.16 |
- Total
- Today
- Yesterday
- not_in
- Date 클래스
- 문자열함수
- 요소선택
- 자료형
- 함수
- Objects 클래스
- 역반복문
- StringBuilder 클래스
- Calendar 클래스
- Arrays 클래스
- 프로그램
- 스레드 스케줄링
- StringBuffer 클래스
- StringTokenizer 클래스
- 딕셔너리
- python
- 리스트
- 파이썬
- 리스트연산자
- FALSE
- Math 클래스
- Format 클래스
- 기본 API 클래스
- Random 클래스
- 순환할당
- Pattern 클래스
- 포장 클래스
- java.time.package
- IndexError
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |