第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 python "(hash).values()" 會給出一個錯誤

為什么 python "(hash).values()" 會給出一個錯誤

躍然一笑 2021-09-14 20:20:26
我是python的初學者。還在學習基礎知識。我嘗試了下面的代碼,它給了我預期的結果。result_f=open("results.txt")scores={}for line in result_f:    (name, score)=line.split()    scores[score]=nameresult_f.close()for each in sorted(scores.keys(), reverse=True):    print(each+' '+scores[each])但如果我使用scores.values()代替scores.keys()它會給我這樣的錯誤" 回溯(最近一次調用最后一次):文件“E:\Practise for MYSELF\Python\TEST.py”,第 8 行,在打印(每個+''+分數(shù)[每個])關鍵錯誤:'扎克'““result.txt”文件的內容是約翰尼 8.65胡安 9.12約瑟夫 8.45斯泰西 7.81艾登 8.05扎克 7.21亞倫 8.31請解釋一下,為什么會發(fā)生該錯誤以及如何解決?
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

字典按鍵查找值,而不是按值查找。在scores.keys()返回字典的按鍵,而scores.values()回報值。然后scores[key]使用鍵獲取值,因此在這種情況下,分數(shù)字典沒有鍵Zack。相反,Zack是一個值。


查看完整回答
反對 回復 2021-09-14
?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

當您切換scores.keys()到 時scores.values(),現(xiàn)在該變量each不會像以前那樣存儲分數(shù)(數(shù)字)。相反,它存儲不能在[]運算符內部用于在數(shù)組中查找值的名稱(字符串)。


您可能想要做的是讓循環(huán)遍歷每個可能的名稱并找到與之相關的分數(shù)。但是,為了做到這一點,您無需更改循環(huán),而是更改了數(shù)組。


為此,您唯一需要更改的行是scores[score]=name. 嘗試將其更改為scores[name]=score. 現(xiàn)在,這會將名稱存儲為鍵,并將分數(shù)存儲為值。如果你運行下面的代碼,你會看到不是先有分數(shù)然后是名字,你會先有名字,然后是我假設你想要的分數(shù)。這與您發(fā)布的輸入文件的格式相匹配。


result_f=open("results.txt")

scores={}

for line in result_f:

    (name, score)=line.split()

    scores[name]=score

result_f.close()

for each in sorted(scores.keys(), reverse=True):

    print(each+' '+scores[each])


查看完整回答
反對 回復 2021-09-14
  • 2 回答
  • 0 關注
  • 268 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號