- 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
# 20IndexError 주의!!! 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의 값을 바꾼다고 해서, 원래 변수인 a나 b의 값이 자동으로 변하지는 않음
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
지금 작성 중인 코드에서 어떤 변수들을 한꺼번에 처리하고 싶으신가요? 혹시 **“테스트 케이스마다 정답이나 리스트를 초기화하는 과정”**을 줄이고 싶으신 건지 궁금해요.
사용자님의 구체적인 상황을 알려주시면, 그 변수들을 어떻게 묶는 게 가장 효율적일지 더 자세히 알려드릴 수 있습니다! 어떤 변수들을 하나로 묶어보고 싶으신가요?