파이썬 리스트 출력 관련해서 도움이 필요합니다.

조회수 1502회

아까 해결 답변 나와서 좋았다가 다시 원점으로 돌아와서 다시 질문 올립니다... 지금 문제가 3명의 친구 정보를 저장 하고 이후 입력을 통해 정보가 나오는 형식의 주소록? 같은것을 만드는 것입니다. 처음에 제가 만들었을때는

friends = {}

for i in range (0,3,1) :
    friends = {'name': input('이름을 입력하시오:'), 'tel':input('전화번호를 입력하시오 :'), 'addr': input('주소를 입력하시오:'), 'age':input('나이를 입력하시오:')}

print(friends)

inform = input('정보를 입력하시오:')
if inform in friends.keys() :
    print( friends[inform])
else :
    print('정보가 없습니다.')

이런형식으로 만들었지만 이때 친구의 정보가 3명의 정보가 아닌 마지막에 작성한 친구의 정보만 나와서 위에 friends만 수정하면 된다고 생각했습니다.

friends = []

for i in range (0,3,1) :
    friends.append({'name': input('이름을 입력하시오:'), 'tel':input('전화번호를 입력하시오 :'), 'addr': input('주소를 입력하시오:'), 'age':input('나이를 입력하시오:')})

print(friends)


inform = input('정보를 입력하시오:')
if inform in friends.keys() :
    print( friends[inform])
else :
    print('정보가 없습니다.')

이후 답변을 얻고 수정해서 완성 햇다고 생각했지만 keys는 딕셔너리에서만 가능 하다고 하는데 뭔가 문제 인지 알려주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • friends는 딕셔너리들을 저장한 리스트입니다. 리스트이기 때문에 keys() 함수를 쓸 수 없는 것입니다.

    for문을 이용하여 리스트 내에 존재하는 원소(딕셔너리)들에 하나씩 접근해보시는게 어떨까요?

    • (•́ ✖ •̀)
      알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)