chapter04. 반복문

728x90

1. 리스트 선언하고 요소에 접근하기

list_a = [1, 2, 3, 4, "ㅎㅇ", 2, "ㅇㅇ", True, False]
#특정요소 변경 
list_a[0] = "수정"
list_a

print()

#음수를 넣어 뒤에서 부터 요소 선택
list_a[-1] = "또 수정"
list_a

#리스트 접근연산자 이중 사용
list_a[0][0]

 

2. 리스트 안에 리스트 사용

list_a = [[1,2,3],[4,5,6],[7,8,9]]

print(list_a[1])
print(list_a[1][2])

 

3. 리스트 연산 ( 연결 : +  / 반복 : * )

list_a = [1,2,3]
list_b = [4,5,6]

print(list_a + list_b)

#길이 구하기
print(len(list_a))

 

4. 리스트 요소 추가 : appent(), inert()

list_a = [1,2,3]

#리스트 뒤에 요소 추가
list_a.append(4)

print(list_a)

#리스트 중간에 요소 추가
list_a.insert(0,"하이")
print(list_a)

 

5. 리스트 요소 제거 : del, pop(), clear()

list_a = [0,1,2,3,4]

del list_a[1]
print(list_a)

print()

list_a.pop(1)
print(list_a)


print()

# 1을 기준으로 왼쪽 모두 제거
del list_a[:1]
print(list_a)

# 모두제거
list_a.clear()
print(list_a)

 

6. 리스트 내부에 있는지 확인 : in, not in

list_a = [1,2,3,4]

print(100 in list_a)

print(1 in list_a)

 

7. for 반복문과 중첩반복

for i in range(4):
    print("반복문")
list_a = [1,2,3,4,5]

for element in list_a:
    print(element)
list_a = [[1,2,3],[4,5,6]]

for items in list_a:
    for item in items:
        print(items)

 

8. 전개연산자

a = [1,2,3,4,]
b = [*a, *a]

print(b)

 

9. 딕셔너리

- 키를 기반으로 값을 저장하는 것

dic_a = {"name":"홍길동",
         "age":30}

print(dic_a)
print(dic_a["name"])

dic_b = {"좋아하는것" : ["뒹굴거리기", "잠자기","코딩하기"],
         "싫어하는것" : ["출근하기","야근하기"]}

print(dic_b["좋아하는것"])

print(dic_b["좋아하는것"][0])

#값 추가
dic_b["좋아하는것"] = ["뒹굴거리기", "잠자기","코딩하기","강아지"]
print(dic_b["좋아하는것"])


dic_b["좋아하는것"] = ["뒹굴거리기", "잠자기","코딩하기","고양이"]
print(dic_b["좋아하는것"])

#값 삭제
del dic_b["싫어하는것"]
print(dic_b)

 

10. 딕셔너리 내부에 키 있는지 확인

dic_b = {"좋아하는것" : ["뒹굴거리기", "잠자기","코딩하기"],
         "싫어하는것" : ["출근하기","야근하기"]}


key ="좋아하는것"

#내부에 키가 있는지 확인
if key in dic_b:
    print("키있음")
    print(dic_b[key])
else:
    print("키 없음")

print(dic_b.get("존재하지않는 키"))
print(dic_b.get("싫어하는것"))

for key in dic_b:
    print(key, ":", dic_b[key])

 

11. 범위 자료형과 while 반복문

list(range(5))
list(range(0,6))
list(range(0,6,2))

- range(0,10)을 하는경우 10은 포함되지 않는다. (뒤에 입력한 숫자를 포함하지 않는다.)

만약 10을 반드시 포함해야하는 것을 강조하고싶을 땐

list(range(0,10+1))
for i in range(5):
    print(str(i)+"=반복변수")

print()

for i in range(0, 10, 3):
    print(str(i)+"=반복변수")
#역반복문

for i in range(4, 0-1, -1):
    print("변수:{}".format(i))

 

12. 중첩반복문으로 별찍기

output =""

for i in range(1, 15):
    for j in range(14, i, -1):
        output += ' '
    for k in range(0, 2*i-1):
        output += '*'
    output += '\n'

print(output)

 

13. while

while True:
    print(".", end="")
i=0
while i<10:
    print("{}번째 반복입니다".format(i))
    i += 1
#리스트 내부에 요소가 있는 동안 while
list_1 = [1,2,1,2]
value=2

while value in list_1:
    list_1.remove(value)

print(list_1)
#5초동안 반복

import time
number = 0

target_tick = time.time() +5
while time.time() < target_tick:
    number +=1


print("5초동안 {}번 반복".format(number))
numbers = [1,2,3,4,5,6,7]

print(min(numbers))
print(max(numbers))
print(sum(numbers))
numbers = [1,2,3,4,5,6,7]

print(min(numbers))
print(max(numbers))
print(sum(numbers))

#함수 뒤집기
list_reversed = reversed(numbers)
print(list_reversed)

for i in reversed(numbers):
    print(i)

 

- enumerate()함수와 반복문 조합하기 

list_1 = [1,2,3,4,5]

i=0

for item in list_1:
    print("{}번째 요소는 {}입니다".format(i, item))
    i+=1

print()

for i in range(len(list_1)):
    print("{}번째 요소는 {}입니다".format(i, list_1[i]))

 

- 딕셔너리의 items()함수와 반복문 조합하기 

dic_1 = {
    "A키" : "값A",
    "B키" : "값B",
    "C키" : "값C"
}


for key, element in dic_1.items():
    print("dic_1[{}]={}".format(key, element))

 

- 반복문을 이용하여 리스트 재조합 (리스트 내포)

리스트이름 = [표현식 for 반복자 in 반복할 수 있는 것]

리스트이름 = [ 표현식 for 반복자 in 반복할 수 있는 것 if 조건문]

array = []

for i in range(0, 20, 2):
    array.append(i*i)


print(array)

 

- 구문 내부에 여러 줄 문자열을 사용하게되면 예상치 못한 들여쓰기가 발생하여 에러발생 해결방법은 아래와 같다.

test = (
    "테스트입니다"
    "하나로 연결하는"
    "테스트"
)

print("test:", test)
print("type(test):", type(test))
number = int(input("정수입력>>"))

if number%2==0:
    print((
        "입력한 문자열은{}입니다\n"
        "{}은 짝수입니다"
    ).format(number,number))
else:
    print((
        "입력한 문자열은{}입니다\n"
        "{}은 홀수입니다"
    ).format(number,number))
print("::".join(['1','2','3','4']))
number = int(input("정수입력>>"))

if number%2==0:
    print("\n".join([
        "입력한 문자열은{}입니다.",
        "{}은 짝수입니다"]).format(number,number))
else:
    print("\n".join([
        "입력한 문자열은{}입니다.",
        "{}은 짝수입니다"]).format(number,number))

 

14. 이터레이터

- 이터러블 : 반복할 수 있는 것

- 이터레이터 : next()함수를 사용하여 하나하나 꺼낼 수 있는 요소

 

728x90

'스터디 > 혼자공부하는파이썬' 카테고리의 다른 글

chapter06. 예외처리  (0) 2024.04.20
chapter05. 함수 (2)  (1) 2024.04.20
chapter05. 함수 (1)  (0) 2024.04.17
chapter03. 조건문  (0) 2024.04.15
chapter 02. 자료형  (1) 2024.04.11