반응형

목차

  1. for 문
  2. 중접 리스트, 중첩 반복
  3. 확산 연산자

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에서 효과적으로 사용하려면 구문과 동작의 차이점을 이해하는 것이 중요합니다.

반응형