python 반복문과 튜플 질문입니다. 고수님들 도와주세요

조회수 1190회

튜플을 이용한 함수의 리턴값이라는 강좌를 듣고있습니다. 이해가 안 가는 것이 있어서 질문올립니다.

names = ['철수', '영희', '영수']

for i in range(len(names)):
    name = names[i]
    print('{}번: {}'.format(i + 1, name))    


for i, name in enumerate(names):
    print('{}번: {}'.format(i + 1, name))    

보시는 것처럼 for 반복문입니다. 두번째 코드는 enumerate를 이용해서 순서와 값을 모두 받아줄 수 있다고 했는데 i+1 뒤에 나온 '''name'''(9번째 라인) 는 어디서 나온 건가요? 첫번째 코드처럼 name = names[i]처럼 변수를 지정한 것도 아닌데 몇번을 돌려봐도 이해가 가질 않습니다.


두번째 질문입니다.

list = [1, 2, 3, 4, 5]
for i, v in enumerate(list):
    print('{}번째 값: {}'.format(i, v))


list = [1, 2, 3, 4, 5]
for a in enumerate(list):
    print('{}번째 값: {}'.format(a[0], a[1]))

네, 보시는 것처럼 둘의 출력값은 같습니다. 여기서 a[0], a[1] 가 어떻게 사용되는지 모르겠습니다.

감사합니다.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    첫번째 질문의 name 은 for 문 안에 이터레이트되는 변수로 지정되어 있습니다. 다시 잘 보시면 알 겁니다.

    두번째 질문에서의 a 는, enumerate 된 인덱스번호와 list 의 원소 하나, 즉 바로위 for 문 안의 i, v 를 한꺼번에 받는 변수가 됩니다. a = (i, v)인 것이고, a[0] => i, a[1] => v 에 해당되게 되는 것이죠.

    • 답변해주셔서 감사합니다. 제가 들었던 강의에서 for 반복문에서 for이 만들어내는 변수였어요 맞아용 그런데 두번째 답변은 확실하게 이해가 가질 않네요 ㅠㅠ 그냥 i,v 가 a[0] a[1]로 쓰여졌다고만 이해가 갔어요 ㅠㅠㅠ 이정운 2019.11.11 22:49

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)