我想通過迭代,例如,dict1,其中有兩個項目,字符串列表的鍵。還有另外一本字典(dict2),有四個條目。這些條目的鍵是dict1中列表中唯一可能的四個字符串。在迭代dict1時,我希望程序挑出列表中的第一項,然後在dict2中找到該鍵,以便我可以根據迭代的內容訪問它們的整數值。字符串是相同的,所以如果正確訪問它應該工作?這裏是我的代碼:Python:如何從列表字典中使用索引0訪問每個列表中的索引0中的字符串鍵?
hogwarts_students = { "A" : ["Gryffindor", "Slytherin"],"B" : ["Hufflepuff", "Ravenclaw"],"C" : ["Ravenclaw", "Hufflepuff"],"D" : ["Slytherin", "Ravenclaw"]}
top_choice = 0
second_choice = 0
no_choice = 0
houses = {"Gryffindor" : 0, "Hufflepuff" : 0, "Ravenclaw" : 0,
"Slytherin" : 0}
def sorting_hat(students):
for student in hogwarts_students:
if houses[student][0] <= len(hogwarts_students)/4:
上午我訪問與該列表的第一個項目dict1內適當對應的最後一行的整數?還有另外一種更好的方法嗎?
它工作嗎?那很好。 – kindall
你會遇到一個關鍵問題(for循環中的學生),可能不在你的房屋詞典中。添加一些東西來檢查。 除此之外,如果它有效,我不會看到您發佈的代碼有任何問題。 – MyCah
您的循環迭代器會將學生設置爲您hogwarts_students字典中的鍵值。因此,它將具有值「A」,「B」等。由於房屋詞典沒有鍵「A」,「B」等,您將在測試中獲得鍵值錯誤。 –