簡體   English   中英

通過遍歷列表中的值來獲取字典值 | Python

[英]Get dictionary value by iterating through values on a list | Python

我想做一個 function search_subject來搜索一個主題並找到該主題的相應教授,例如{professor1: [biology, maths], professor2: [gymnastics, arts]如果你在被要求輸入時輸入biology ,你會得到professor1

我試圖避免為這個項目制作一個嵌套的字典,但我被卡住了,感謝任何幫助

遍歷professors.items()並檢查主題

professors = {'professor1' : ['biology', 'maths'],  'professor2' : ['gymnastics', 'arts']}

def search_subject(target):
    for key, val in professors.items():
        if target in val:
            return key
    return False

print(search_subject('biology'))

Output: professor1 1

請記住引用字符串。
翻轉字典。
使用倒排字典按學科查找教授。

professor_to_subjects = {'professor1' : ['biology', 'maths'],
                         'professor2' : ['gymnastics', 'arts'], }

subject_to_professor = {}

for professor, subjects in professor_to_subjects.items():
    for subject in subjects:
        subject_to_professor[subject] = professor

print(subject_to_professor)
# {'biology': 'professor1', 'maths': 'professor1', 'gymnastics': 'professor2', 'arts': 'professor2'}

print(subject_to_professor['biology'])
# professor1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM