파이썬 리스트 관련 질문입니다.
조회수 407회
import random
#음식의 종류
food_kind = ["한식", "중식", "양식", "일식", "아시안", "분식"]
food_kind_detail = ["food_kor", "food_chi", "food_west", "food_jpa", "food_asia", "food_sfod"]
food_recipe = ["볶음", "찜/탕/찌개", "튀김", "구이", "빵/밥/면"]
food_recipe_detail = ["food_stir", "food_soup", "food_fry", "food_rst", "food_meal"]
print("선택1: ", food_kind[a])
print("선택1: ", food_kind_detail[a])
print("선택2: ", food_recipe[b])
print("선택2: ", food_recipe_detail[b])
#음식의 종류
food_kind_detail = ["food_kor", "food_chi", "food_jpa", "food_west", "food_asia", "food_sfod"]
#한식
food_kor =["고등어구이", "삼겹살","김치찌개","삼계탕", "갈비찜", "소불고기덮밥","오징어덮밥", "제육볶음"]
#중식
food_chi = ["마라샹궈", "탕수육","유산슬", "자장면", "마파두부", "짬뽕", "울면","마라탕"]
#일식
food_jpa = ["초밥", "우동", "라멘", "돈카츠", "나베", "소바", "타코야끼", "오뎅"]
#양식
food_west = ["스테이크", "햄버거", "파스타", "피자", "샌드위치", "빵", "리조또", "치킨"]
#아시안
food_asia = ["카레", "쌀국수", "만두", "월남쌈", "분짜", "나시고랭", "팟타이", "짜조"]
#분식
food_sfod = ["만두", "김밥", "떡볶이", "라볶이", "주먹밥", "핫도그", "닭꼬치", "우동"]
#음식의 조리법
food_recipe_detail = ["food_stir", "food_soup", "food_fry", "food_rst", "food_meal"]
#볶음
food_stir = ["제육볶음", "마라샹궈", "마파두부", "나시고랭", "팟타이", "떡볶이", "라볶이", "유산슬"]
#찜/탕/찌개
food_soup = ["김치찌개", "삼계탕","소바" ,"나베", "만두", "갈비찜","짬뽕", "울면", "마라탕", "쌀국수", "우동", "라멘", "오뎅"]
#튀김
food_fry = ["탕수육", "돈카츠", "치킨", "짜조", "핫도그", "닭꼬치"]
#구이
food_rst = ["고등어구이", "삼겹살", "타코야끼", "스테이크", "월남쌈"]
#빵/밥/면
food_meal = ["오징어덮밥", "소불고기덮밥", "자장면", "초밥", "울면", "짬뽕", "우동", "라멘", "소바", "사시미", "햄버거", "파스타", "피자", "샌드위치",
"빵", "리조또", "쌀국수", "쌀국수", "분짜", "나시고랭", "팟타이", "김밥", "주먹밥"]
menu = (set(food_kind_detail[a]) & set(food_recipe_detail))
print(menu)
print(food_kind_detail[a])
질문
예를 들어 food_kind_detail[a]
값이 food_kor
, food_recipe_detail[b]
값이 food_stir
이라고 한다면
food_kor
과 food_stir
이 각각 자신의 리스트로 변환이 될 줄 알았습니다.
즉 food_kor
리스트와 food_stir
리스트를 세트로 변환하여 겹치는 부분을 도출하려고 했습니다.
하지만 코드를 실행해보니 food_kor
과 food_stir
글자 중 겹치는 부분만 도출됩니다.
제가 원하는 것은 food_kind_detatil[a]
로 나온 값을 리스트로서 사용하고 싶은데, 어떻게 해야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
food_kind_detail = ["food_kor", "food_chi", "food_jpa", "food_west", "food_asia", "food_sfod"]
이 라인을 잘라서
food_sfod = 어쩌구
라인 뒤에 붙여넣고 따옴표를 전부 다 지워 보세요. 그러면food_kind_detail
이food_kor
등의 변수를 참조하게 될 겁니다.
food_recipe_detail
도 비슷하게 수정하신 다음, 이렇게 저렇게 고쳐 가면서 연구해 보셔요.
근데 말이에요 사실 리얼 월드에서는 이런 자료들은 전형적으로 이런 구조로 설계하고 관리합니다. 혹시라도 지금이라도 데이터 구조를 변경할 수 있다면 아래 내용을 진지하게 참고해 보세요.
# 이런 구성을 흔히 "객체배열"(array of objects)이라고 부릅니다. all_menu = [ {'name': "삼겹살", 'kind': "kor", 'recipe': "roast"}, {'name': "타코야끼", 'kind': "jpa", 'recipe': "roast"} # 이런 식으로 구성이 같은 메뉴 dict가 일렬로 쭉 이어지는 거죠. ] # 보시면 아시겠지만 직관적이면서도 충분히 체계적입니다. the_random_recipe = "roast" for menu in all_menu : if menu['kind'] is "kor" and menu['recipe'] is the_random_recipe : print(menu['name'])
댓글 입력