파이썬 리스트-딕셔너리

조회수 694회

리스트에 딕셔너리를 저장한 후 다시 호출하려 하는데

li=[]

dic={}

한 뒤에 반복문에서 밑에 코드 실행시켜서

dic['자리']=int(input('자리 번호'))


dic['가격']=int(input(''메뉴 선택'))

li.append(dic)

리스트에 딕셔너리 저장시킨 후에 자리 번호를 입력하면 그 자리에 해당하는 가격을 불러오고 싶을때는 어떻게 하나요.

li=[{'자리':'가격'}{'자리':'가격'}{'자리':'가격'}.....] 이런 식으로 저장시키고 입력한 자리에 일치하는 가격만 불러오고 싶은데

1 답변

  • 데이터 구조를 그렇게 할 필요가 있나요?

    딕셔너리 하나로 되는 구조 같습니다.

    자리번호는 고유할 것이므로 자리를 키로 가격을 벨류로 하면 됩니다.

    In [1]: D = {}                                                                  
    
    In [2]: D['1'] = 1000                                                           
    
    In [3]: D['2'] = 2000 
    
    In [4]: D                                                                       
    Out[4]: {'1': 1000, '2': 2000}
    

    그럼에도 질문상처럼 해야 된다면...아래와 같은 방법도 있습니다.

    In [15]: li=[{'1':'1000'},{'2':'2000'},{'3':'3000'}] 
    
    In [16]: next(d for d in li if '2' in d)                                        
    Out[16]: {'2': '2000'}
    
    • 제가 파이썬을 기초밖에 안 배워서 잘 모르는데 In과 Out도 함수인가요? 이해를 못했네요 알 수 없는 사용자 2019.6.18 17:38
    • 아니요....ipython 이라는 interative shell 입니다. 정영훈 2019.6.19 02:33

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

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

(ಠ_ಠ)
(ಠ‿ಠ)