日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

二级python 刷题就能过吗_Python 刷题笔记:这很不python,官方大大能改下吗?

發布時間:2025/3/19 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二级python 刷题就能过吗_Python 刷题笔记:这很不python,官方大大能改下吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

驚訝:數值相等的整數或浮點數作為dict 字典的鍵將指向同一項?!

1、刷題遇到知識盲區

今天繼續在 xue.cn 刷題,意外發現:整數和浮點數先后設為字典的鍵,會有奇怪的現象!

題目如下:

What gets printed?

confusion = {}

confusion[1] = 1

confusion['1'] = 2

confusion[1.0] = 4

sum = 0

for k in confusion:

sum += confusion[k]

print(sum)

復制代碼

2、我的理解VS正確答案

暫時找不到精準詞匯來描述這一現象,我于是選擇寫點代碼,嘗試確認該現象。

答題時我的理解是,整數 1 ,字符串 '1' 和浮點數 1.0 是不同類型,所以它們會成為該字典的三個鍵,字典中 3 項的值加和 1 + 2 +4 為 7。但正確答案卻是 2 + 4 為 6。由此推論,這是把字典的鍵 整數 1 和 浮點數 1.0 所指向的視為同一項!

這個推論準確嗎?如何驗證推論是否準確?

首先,確認整數和浮點數都可以作為字典的鍵存在。

其次,數值相等的整數和浮點數先后作為字典的鍵時,會如何?寫寫代碼試試看。

仔細觀察發現,字典的鍵不會發生改變,字典的值發生覆蓋:最先設為字典的鍵的類型,如果是整數,則總是整數,如果是浮點數,則總是浮點數。只有字典的值會發生覆蓋。

這個觀察準確嗎?再寫點代碼,檢查下字典的鍵的類型是否發生變化。

經過上面的探索可知,數學意義上數值相等的整數或浮點數先后設為字典的鍵時,鍵的類型會與最初保持一致;但在調用該鍵時,整數或浮點數都可以,指向的是該字典的同一項!

3、小結與未完成困惑

這實在詭異。我雖然暫時不明白為什么,但總算確定該現象的存在了!整理好這篇筆記,發出來給高手們指點一下,看看能否找到為什么吧!

BTW,這個現象不符合認知慣性啊,明明整數 1 ,字符串 '1' 和浮點數 1.0 是不同類型,為什么它們不會成為該字典的三個鍵??希望未來 python 能升級改掉這種情況……

總結

以上是生活随笔為你收集整理的二级python 刷题就能过吗_Python 刷题笔记:这很不python,官方大大能改下吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。