求解這是為啥?如圖,感謝!
一直有個疑問,不知道能不能描述清楚。。
就拿任務的答案來說,for key in d這個我理解是依次取出d里面的元素并把元素賦值給key,然后執行for循環體把d里面的都表示出來,即'Adam':95...'Bart':59,就是說把這三個都表示出來,到這兒我也理解,我不懂的是在print key +':',d[key]這句里面,為什么key就只表示人名了呢?然后d[key]就表示分數了呢?正如前面的,key不是明明被賦值了人名加分數這個整體嗎?這點不懂,求大神,也不知道我說的清楚不清楚。。。
2017-11-28
d里面的'key:value'是個整體,'for Key in d'表示依次取出一個整體同時將首地址傳送給Key(即'key:value'中的key地址傳至Key),所以Key實際上是表示d中的鍵(即示例中的名字),而d[Key]才表示d中某個具體的值
2017-11-28
key 確實是代表人名,但d{}本來就是定義的是根據key來查找對應的值,所以d[key]也就就可以查找出對應的分數,建議研究下d{}的定義。我也是才自學,說得不對的希望大家指點迷津。
2017-11-28
for 語句針對dic類型,遍歷的每一項只能是key(程序就這樣,要接受著去理解),這個key只表示鍵值對的鍵,所以key只表示人名了,而當你要去人名對應的分數,也就是value得時候,就只能通過字典的查找d[key]來取值了。希望對你有幫助。
2017-11-28
教程里面說了,for循環出來的只有key,所以得用d[key]來獲取對應的value....