티스토리 뷰

반응형
  1. 리스트에 적용할 수 있는 기본 함수: min(), max(), sum()
  2. 리스트 뒤집기: reversed()
  3. 현재 인덱스가 몇 번째인지 확인하기: enumerate()
  4. 딕셔너리로 쉽게 반복문 작성하기: items()
  5. 리스트 안에 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
댓글