본문 바로가기
Base/Python

6. for 반복문과 리스트, 항등원, 전개 연산자

by 귀멸 2023. 2. 11.

혼공파 29 ~ 31강

 

1. for 반복문

   1) 항등원

       임의의 원소에 특정 연산을 했을 때 재귀시키는 원소

        A + ? = A    # 숫자 덧셈의 항등원 : 0

        A * ? = A     # 숫자 곱셈의 항등원 : 1

       ? : 항등원

 

    2) 총합과 총곱

        a = (10, 20, 30)

        a1 = 10, a2 = 20, a3 = 30

       

       총합 : 모두 더한다  >> a1 + a2 + a3 = 60

        ∑a  

       

        총곱 : 모두 곱한다  >> a1 * a2 * a3 = 6000 

         ∏a         

 

# for 반복문

# for 반복변수 in 리스트:
#   복합구문

# a의 요소가 무엇을 나타내는지 쉽게 이해할 수 있는 변수 이름
# i, j, k, l, m ...
a = [1, 2, 3, 4, 5]
for a_i in a:
  print(a_i)

# 총합
sum = 0 # 항등원
for a_i in a:
  sum = sum + a_i
print(sum)

# 총곱
prod = 1 # 항등원
for a_i in a:
  prod = prod * a_i
print(prod)

2. 중첩반복문과 전개 연산자

 1) 중첩 반복문

# 리스트
a = [1, 2, 3]

# 2차원 리스트
b = [[1, 2, 3], [4, 5, 6, 7], [8, 9]]

b[0] # [1, 2, 3]
b[0][0] # 1
b[0][1] # 2
b[0][2] # 1

b[1] # [4, 5, 6, 7]
b[2] # [8, 9]

for i in b:
  print(i)

for i in b:
  print(i)
  for j in i:
    print(j)

 

 2) 리스트 전개 연산자

# 전개 연산자
# *리스트 (리스트 전개 연산자)
# 요소, 요소, 요소
# 전개 연산자는 "리스트 클론" 테크닉에 활용하나,
# 스택과 힙을 배워야 이해 가

## (1) 리스트 내부
a = [1, 2, 3]
b = [*a, *a]  
print(b)       # [1, 2, 3, 1, 2, 3]

## (2) 함수의 매개변수 위치
date = [2022, 8, 10 , 14, 14]
print("{}년 {}월 {}일 {}시 {}분".format(date[0], date[1], date[2], date[3], date[4]))   
# 2022년 8월 10일 14시 14분
print("{}년 {}월 {}일 {}시 {}분".format(*date)) 
# 2022년 8월 10일 14시 14분

3. 리스트 반복문 코딩 예제

numbers = [273, 103, 5, 32, 65, 9, 72, 800, 99]

for number in numbers:
  # 홀수 짝수
  if number % 2 == 0:
    print(f"{number}은/는 짝수입니다.")
  else:
    print(f"{number}은/는 홀수입니다.")

# 자릿수 출력
  print(f"{number}은/는 {len(str(number))} 자리입니다.")
  print()
  
"""
273은/는 홀수입니다.
273은/는 3 자리입니다.

103은/는 홀수입니다.
103은/는 3 자리입니다.

5은/는 홀수입니다.
5은/는 1 자리입니다.

32은/는 짝수입니다.
32은/는 2 자리입니다.

65은/는 홀수입니다.
65은/는 2 자리입니다.

9은/는 홀수입니다.
9은/는 1 자리입니다.

72은/는 짝수입니다.
72은/는 2 자리입니다.

800은/는 짝수입니다.
800은/는 3 자리입니다.

99은/는 홀수입니다.
99은/는 2 자리입니다.

"""

 

댓글