목차
- for 문
- 중접 리스트, 중첩 반복
- 확산 연산자
for 문
Python의 'for' 문은 시퀀스(예: 리스트, 튜플, 문자열 또는 기타 반복 가능한 객체)를 반복하는 데 사용됩니다. 'for' 루프는 시퀀스의 각 항목을 반복하고 각 항목에 대한 코드 블록을 실행합니다. Python에서 for 루프의 일반적인 구문은 다음과 같습니다.
for variable in iterable:
# Code to execute for each item in the iterable
여기서 변수는 iterable의 각 항목 값을 한 번에 하나씩 취하는 임시 변수입니다. iterable은 리스트, 튜플, 문자열 또는 기타 반복 가능한 유형과 같이 반복될 수 있는 객체입니다.
다음은 for 루프를 사용하여 숫자 리스트을 반복하는 간단한 예입니다.
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
이 루프는 리스트의 각 숫자를 한 번에 하나씩 인쇄하여 다음과 같은 결과를 출력합니다.
1
2
3
4
5
문자열을 반복하는 또 다른 예입니다.
greeting = "Hello, World!"
for char in greeting:
print(char)
이 루프는 문자열의 각 문자를 새 줄에 인쇄합니다.
Python의 'for' 루프는 다목적이며 다양한 상황에서 반복 가능한 객체를 반복하고 시퀀스의 각 항목에 대한 작업을 수행하는 데 사용할 수 있습니다.
중접 리스트, 중첩 반복
Python의 중첩 리스트는 다른 리스트을 요소로 포함하는 리스트입니다. 이는 행렬, 테이블 또는 계층 구조와 같은 복잡한 데이터 구조를 구성하고 나타내는 데 유용할 수 있습니다.
다음은 행렬을 나타내는 중첩 리스트의 예입니다.
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
중첩 반복은 중첩 리스트과 같은 중첩 데이터 구조를 반복하는 데 사용되는 다른 루프 내의 루프입니다. Python에서는 중첩된 for 루프를 사용하여 중첩된 리스트의 각 요소를 반복할 수 있습니다.
다음은 위에 정의된 행렬을 반복하기 위해 중첩 반복을 사용하는 예입니다.
for row in matrix:
for element in row:
print(element, end=' ')
print() # Print a newline character after each row
그러면 다음이 출력됩니다.
1 2 3
4 5 6
7 8 9
위의 예에서 외부 루프는 행렬(리스트의 리스트)의 각 행을 반복하고 내부 루프는 해당 행 내의 각 요소를 반복합니다. print 기능은 행의 각 요소를 공백으로 구분하여 표시하는 데 사용됩니다. print 함수의 end=' ' 매개변수는 각 요소 뒤에 줄 바꿈 대신 공백이 인쇄되도록 하는 반면 내부 루프 외부의 print() 문은 각 행 뒤에 줄 바꿈 문자를 인쇄하는 데 사용됩니다.
중첩 리스트과 중첩 반복은 Python의 강력한 도구로, 복잡한 데이터 구조로 작업하고 효율적으로 작업을 수행할 수 있습니다.
확산 연산자
Python에는 JavaScript 또는 다른 언어에서 찾을 수 있는 특정 "확산 연산자"가 없습니다. 그러나 Python은 별표(*) 연산자를 사용하여 "언패킹"이라는 유사한 메커니즘을 제공합니다. 이 연산자는 iterable(예: 리스트, 튜플 또는 집합)에서 요소를 압축 해제하고 별도의 위치 인수로 함수에 전달하거나 새 리스트, 튜플 또는 집합으로 병합하는 데 사용할 수 있습니다.
다음은 Python에서 별표(*) 연산자를 사용하는 방법에 대한 몇 가지 예입니다.
1. 리스트에서 요소 압축 풀기:
def print_numbers(a, b, c):
print(f'a: {a}, b: {b}, c: {c}')
numbers = [1, 2, 3]
print_numbers(*numbers) # Output: a: 1, b: 2, c: 3
2. 여러 리스트을 새 리스트으로 병합:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = [*list1, *list2]
print(merged_list) # Output: [1, 2, 3, 4, 5, 6]
3. 튜플 또는 집합에서 요소 압축 풀기:
tuple1 = (1, 2, 3)
set1 = {4, 5, 6}
merged_list = [*tuple1, *set1]
print(merged_list) # Output: [1, 2, 3, 4, 5, 6]
패킹 해제를 위해 별표(*) 연산자를 사용할 때 결과의 요소 순서는 원래 iterables의 순서에 따라 달라집니다.
Python의 별표(*) 연산자는 일부 다른 언어의 스프레드 연산자와 유사한 목적을 수행하지만 Python에서 효과적으로 사용하려면 구문과 동작의 차이점을 이해하는 것이 중요합니다.
'Python > Python 기본' 카테고리의 다른 글
[Python] range함수와 응용법들 (2) | 2023.04.23 |
---|---|
[Python] 파이썬 딕셔너리(Dictionary)란? (0) | 2023.04.22 |
[Python] 파이썬 list 함수와 다양한 활용법 (0) | 2023.04.22 |
[Python] IF 함수를 논리적으로 False로 만들기 (0) | 2023.04.21 |
[Python] if 함수와 응용 (0) | 2023.04.21 |