본문 바로가기
프로그래밍/파이썬기초

파이썬 딕셔너리 - 리스트 안에 딕셔너리 예제(2)

by 조크리 2023. 11. 9.
반응형

 

안녕하세요?

지난 글에서는 리스트 안에 딕셔너리 예제를

몇 가지 살펴보았습니다. 

 

파이썬 딕셔너리 - 리스트 안에 딕셔너리 예제

 

 

이번 글에서는

이어서

리스트 안에 딕셔너리 예제 2가지를 살펴보겠습니다. 

 
 


목차

     

     

     

    1. 과일 리스트, 야채 리스트에서 항목 뽑기

     

    지난 글에서는

    과일 리스트를 하나 만들고

    그 리스트에서 항목을 출력하는 예제를 살펴보았습니다.

     

    리스트의 항목은 각각 딕셔너리로 들어가 있었죠. 

     

     

     

    이번 예제에서는

    과일 리스트와 야채 리스트를 만들어보았습니다. 

     

     

     

    그리고 함수를 하나 만들어주었습니다.

    함수는 get_name(name, list) 라는 함수로

    이렇게 리스트가 2개 이상일 때 이 함수가 진가를 발휘하게 됩니다. 

     

    함수의 파라미터에는 name이라는 변수와 list라는 변수가 들어가게 되는데

    리스트가 여러개인 경우

    함수를 호출할 때 내가 사용하기를 원하는 리스트의 이름을 써주면 되죠!

     

    함수의 내용을 좀 살펴보겠습니다.

    리스트의 0번째 항목부터 끝번째 항목까지 쭉 돌면서

    if 조건문을 거칩니다.

     

    만약에 항목의 name값이 사용자가 함수 호출시 작성한 값과 같다면

    항목의 %값을 출력합니다. 

     

    그렇지 않고 만약에

    항목의 name값이 사용자가 함수 호출 시 작성한 값과 다르다면

    '항목에 없는 이름입니다.' 라고 출력해줍니다. 

     

    아래는 파이썬 코드입니다.

    실제로 코드를 한 번 돌려보세요. 

    #리스트 안에 딕셔너리
    
    fruit_list = [
     {'name': '바나나', '%': 13},
     {'name': '딸기', '%': 15},
     {'name': '샤인머스켓', '%': 20},
     {'name': '망고', '%': 25}
    ]
    
    vege_list = [
     {'name': '오이', '%': 13},
     {'name': '시금치', '%': 15},
     {'name': '양파', '%': 20},
     {'name': '피망', '%': 25}
    ]
    
    
    def get_name(name,list):
      for i in list:
        if i['name'] == name:
          return  '{}은/는 {}%의 학생들이 좋아합니다.'.format(name, str(i['%']))
      return '항목에 없는 이름 입니다.'
    
    print(get_name('딸기', fruit_list))
    print(get_name('오이', vege_list))

     

     

    2. 학생 정보 리스트

     

    다음 예제는 학생 정보 리스트 예제입니다.

     

    이렇게

    students = [] 라는 리스트를 만들었습니다. 

    이 리스트에는

    학생의 이름, 과목, 활동, 음식에 대한 정보들이 각각 딕셔너리로 추가되어 있습니다. 

     

     

    그리고 

    함수를 만들어주었습니다.

    함수의 첫 번째 코드는 input()함수를 써서

    사용자에게 어떤 정보를 원하는지 물어보는 코드입니다. 

    사용자는 과목, 활동, 음식 중 한 가지를 정할 수 있죠.

     

    그리고 이제

    사용자가 함수에 입력한 이름이

    리스트에 있으면

    00학생은 00을 좋아합니다. 는 멘트가 리턴됩니다. 

     

    아래는 파이썬 코드입니다.

    복사하여 한 번 실행해보세요~!

    students=[
      {'name':'재석', '과목' : '국어', '활동' : '책읽기', '음식' : '카레'},
      {'name':'명수', '과목' : '수학', '활동' : '영화보기', '음식' : '비빔밥'},
      {'name':'준하', '과목' : '미술', '활동' : '축구하기', '음식' : '샌드위치'},
      {'name':'홍철', '과목' : '체육', '활동' : '먹기', '음식' : '초콜릿'}
    ]
    
    
    def get_name(name,list):
      question = str(input('어떤 것을 좋아하는지 알고싶나요?(과목/활동/음식): '))
      for i in list:
        if i['name'] == name:
          return  '{}학생은 {}을 좋아합니다.'.format(name, str(i[question]))
      return '항목에 없는 이름 입니다.'
    
    print(get_name('재석', students))

     

     

    지금까지 파이썬의 리스트와 딕셔너리의 다양한 예제를 살펴보았습니다.

     

    다음 글부터는

     

    실제

    서울시 미세먼지 API

    따릉이 API 등을 가져와서

     

    리스트와 딕셔너리를 다루는 예제들을 살펴보겠습니다!

     

    반응형