Python - 배열 루프
안녕하세요, 미래의 Python 마에스트로! 오늘은 우리가 Python 배열과 루프의 세계를 탐험하는 흥미로운 여정을 떠날 거예요. 친절한 이웃 컴퓨터 교사로서 저는 이 모험을 여러 예제와 설명으로 안내해 드릴 거예요. 그리고 웃음도 몇 번 더 있을 거예요. 그래서, 좋아하는 음료를 준비하고 편하게 앉아서 함께 빠지자요!
Python에서 배열은 무엇인가요?
루프를 시작하기 전에 잠시 Python의 배열에 대해 새로 고칠까요? Python에서는 일반적으로 배열을 나타내기 위해 리스트를 사용합니다. 리스트는 다양한 형식의 항목들의 모음입니다. 예를 들어:
과일 = ["사과", "바나나", "채리", "데이트"]
숫자 = [1, 2, 3, 4, 5]
혼합 = [1, "둘", 3.0, [4, 5]]
이제 이를 정리했으니, 이러한 배열을 어떻게 루프할 수 있을지 탐험해 봅시다!
Python for 루프와 배열
for
루프는 배열을 반복할 때 신뢰할 수 있는 동반자입니다. 그것은 개인 알바가 리스트의 각 항목을 하나씩 처리하는 것과 같아요. 이를 행동에서 볼 수 있습니다:
과일 = ["사과", "바나나", "채리", "데이트"]
for 과일이 in 과일:
print(f"저는 {과일이}를 먹는 것을 좋아해요!")
출력:
저는 사과를 먹는 것을 좋아해요!
저는 바나나를 먹는 것을 좋아해요!
저는 채리를 먹는 것을 좋아해요!
저는 데이트를 먹는 것을 좋아해요!
이 예제에서, 우리의 for
루프는 과일을 사랑하는 로봇과 같아요. 그것은 과일
목록에서 각 과일을 들어서 그것을 먹는 것을 사랑하게表达了. 루프는 목록의 모든 항목을 처리할 때까지 계속됩니다.
실제 세상의 비유
buffet(음식대)에 가 있는 것을 상상해 봅시다 (맛있어요!). for
루프는 당신이 음식대 라인을 걸으며, 하나씩 각 요리를 집어 들는 것과 같아요. 당신은 어떤 요리도 건너뛰지 않고, 라인의 끝에 도달할 때까지 멈춰 있습니다. 이것은 정확히 우리의 for
루프가 배열로 작동하는 방식입니다!
Python while 루프와 배열
이제 while
루프를 만나보죠. for
루프는 로봇처럼 철저하게 목록을 처리하는 것이라면, while
루프는 더 이상의 쇼핑 목록이 비어 있을 때까지 계속 사물을 사는 지속적인 쇼핑객과 비슷합니다. 우리는 어떻게 while
루프를 배열로 사용할 수 있는지 볼 수 있습니다:
과일 = ["사과", "바나나", "채리", "데이트"]
인덱스 = 0
while 인덱스 < len(과일):
print(f"인덱스 {인덱스}에 있는 과일은 {과일[인덱스]}입니다")
인덱스 += 1
출력:
인덱스 0에 있는 과일은 사과입니다
인덱스 1에 있는 과일은 바나나입니다
인덱스 2에 있는 과일은 채리입니다
인덱스 3에 있는 과일은 데이트입니다
이 예제에서, 우리는 0에서 인덱스
를 시작합니다. while
루프는 인덱스
가 과일
목록의 길이보다 작을 때까지 계속됩니다. 루프의 각 반복에서 현재 인덱스의 과일을 인쇄하고 인덱스를 1 증가시킵니다.
when to Use while Loops
while
루프는 정확히 몇 번 루프를 해야 하는지 모를 때 매우 유용합니다. 예를 들어, 파일에서 데이터를 읽거나 사용자 입력을 기다리는 경우, while
루프가 매우 유용할 수 있습니다. 그러나 간단한 배열 반복의 경우, for
루프가 보통 더 깔끔하고 읽기 쉬울 수 있습니다.
Python for 루프와 배열 인덱스
때로는 배열의 항목뿐만 아니라 그 위치(또는 인덱스)도 알고 싶을 때가 있습니다. Python의 enumerate()
함수가 구조입니다! 그것은 여행 가이드처럼 각 항목을 보여주면서 정확히 어디에 있는지도 알려주는 것과 같아요. 이를 행동에서 볼 수 있습니다:
과일 = ["사과", "바나나", "채리", "데이트"]
for 인덱스, 과일이 in enumerate(과일):
print(f"{인덱스 + 1}번 과일은 {과일이}입니다")
출력:
1번 과일은 사과입니다
2번 과일은 바나나입니다
3번 과일은 채리입니다
4번 과일은 데이트입니다
이 예제에서, enumerate()
는 우리에게 목록의 각 요소에 대한 인덱스와 항목을 제공합니다. 인쇄할 때 인덱스에 1을 더해주는 이유는 배열 인덱스는 0에서 시작하지만, 사람들은 보통 1에서 시작하는 것을 의미합니다.
더 복잡한 예제
이제 우리의 지식을 조금 더 복잡한 예제로 시험해 봅시다. 우리는 책을 나타내는 딕셔너리의 목록을 만들고, 그 안에서 특정 저자의 책을 찾기 위해 루프를 돌릴 것입니다:
책들 = [
{"제목": "톱스미 칭칭", "저자": "해퍼 리", "연도": 1960},
{"제목": "1984", "저자": "조지 오웰", "연도": 1949},
{"제목": "프라이드 앤 프리젠드", "저자": "제인 오스틴", "연도": 1813},
{"제목": "동물 농장", "저자": "조지 오웰", "연도": 1945}
]
찾을_저자 = "조지 오웰"
print(f"{찾을_저자} 저자의 책들:")
for 인덱스, 책 in enumerate(책들):
if 책["저자"] == 찾을_저자:
print(f"{인덱스 + 1}. {책['제목']} ({책['연도']})")
출력:
조지 오웰 저자의 책들:
2. 1984 (1949)
4. 동물 농장 (1945)
이 예제에서, 우리는 for
루프와 enumerate()
를 사용하여 책 딕셔너리의 목록을 탐색합니다. 각 책의 저자를 확인하고, 찾고자 하는 저자와 일치하면 책의 세부 사항을 인쇄합니다.
결론
축하합니다! 당신은 Python 능력을 레벨업시키기 위해 배열과 루프를 마스터링했습니다. 기억해 주세요, 연습이Prefect를 만든다. 이러한 개념들을 실험하기를 두려워 말아요. 자신만의 배열을 만들고 여러 가지 방법으로 루프를 돌려 보세요.
다음은 우리가 다룬 루프 방법에 대한 빠른 참조 표입니다:
루프 유형 | 사용 사례 | 문법 |
---|---|---|
For 루프 | 시퀀스의 모든 항목을 반복하고 싶을 때 | for 항목 in 시퀀스: |
While 루프 | 루프를 제어하기 위해 조건이 필요할 때 | while 조건: |
For 루프 with Index | 항목과 그 위치를 모두 필요할 때 | for 인덱스, 항목 in enumerate(시퀀스): |
코딩을 계속하고, 계속 배우며, 가장 중요한 것은 Python을 즐기세요! 누谁知道? 다음 번 buffet에 가면 for
루프를 생각하게 될 수 있어요. 그럴 때마다 당신이 진정으로 프로그래머가 되고 있다는 것을 알게 될 거예요!
Credits: Image by storyset