- For 문 안에 리스트 넣기

문법: for i in [a, b]

in range()와 그냥 in 주의 in range() 정수, range list 등 순서 있는 보따리

리스트 자체가 이미 ‘순서가 있는 보따리’이기 때문에, range() 없이 바로 for문에 넣을 수 있음. range()는 오히려 괄호 안에 정수 들어오길 기다림

a = 10
b = 20
 
for i in [a, b]:
    print(i) 
# 출력 결과:
# 10
# 20

IndexError 주의!!! i에 수식 넣어서 index 초과 ex) `num [4]까지가 끝인데 range(0,5)인 상황에서 nums[i + 2] nums[6]인 경우 num [6]은 존재하지 않으므로 찾을 수 없음: IndexError

  • 번외: for range의 범위 안에 걍 리스트 넣어도 됨 ex for i in range (`[1,2,3])

루프 안에서 list에 접근해 변수 바꾸기

루프 안에서 i의 값을 바꾼다고 해서, 원래 변수인 ab의 값이 자동으로 변하지는 않음

a = 10
b = 20
 
for i in [a, b]:
    i = i + 5  # i라는 임시 변수에 5를 더함
    print(f"루프 안 i: {i}")
 
print(f"원래 a: {a}") # a는 여전히 10입니다!

💡 만약 진짜로 원래 변수들을 한꺼번에 수정하고 싶다면?

가장 좋은 방법은 변수들을 리스트나 딕셔너리에 처음부터 담아두고, **인덱스(번호)**로 접근하는 거예요.

  • 방법 A (인덱스 활용):

    Python

    vals = [10, 20] # a, b 대신 리스트를 사용
    for idx in range(len(vals)):
        vals[idx] += 5 # 리스트 안의 값을 직접 수정
    
  • 방법 B (딕셔너리 활용 - 이름으로 관리):

    Python

    data = {'a': 10, 'b': 20}
    for key in data:
        data[key] += 5
    

지금 작성 중인 코드에서 어떤 변수들을 한꺼번에 처리하고 싶으신가요? 혹시 **“테스트 케이스마다 정답이나 리스트를 초기화하는 과정”**을 줄이고 싶으신 건지 궁금해요.

사용자님의 구체적인 상황을 알려주시면, 그 변수들을 어떻게 묶는 게 가장 효율적일지 더 자세히 알려드릴 수 있습니다! 어떤 변수들을 하나로 묶어보고 싶으신가요?