初學python遇到的乙個小問題

2021-09-30 14:25:36 字數 814 閱讀 1441

python中的乙個小問題:

問題是這樣的

old = [1, 2, 3, 4, 5]

new = old

old = [6]

print (new)

求輸出結果,

第一眼我以為答案是[6], 但是當我上機實驗才發現答案是[1, 2, 3, 4, 5], 為什麼會是這個答案呢?

我 檢視old 和 new 的位址

old = [1, 2 ,3, 4]

new = old

print (id(old))

print (id(new))

old = [6]

輸出結果是:

59945568

59945568

是啊, old和new是同一塊記憶體位址啊,為什麼會出現這樣的結果呢? 想了一會, 寫了如下**

old = [1, 2 ,3, 4]

new = old

print (id(old))

print (id(new))

old = [6]

print (id(old))

print (id(new))

輸出結果是:

59945568

59945568

59963712

59945568

發現後來的old和前面的old不是同乙個東西。 接著又試了幾次, 發現不止列表, 元組、字典甚至普通變數, 只要它們的值發生變化, 那麼用id()函式查到的值就不是原來的值了。 震驚

記乙個遇到的requests庫編碼的小問題

這裡其實是存在2個問題的 requests庫的content與text 這個是開課8老師提過的 content返回型別是str text返回型別是unicode,所以需要指定一下編碼形式,不然容易顯示亂碼 還說了啥忘記了,反正他的結論是建議用content.decode 關於這個decode,mac...

初學SSDT遇到的乙個指標問題

最近想學驅動開發,參考別人的 但是遇到了一些問題,昨晚調了乙個晚上都找不到原因,快12點半 的時候才找 到原因,是指標沒寫好,其實根本原因是自己基礎不紮實。ssdt的結構如下 typedef struct servicedescriptortable pservicedescriptortable ...

自己遇到的乙個小BUG

public static intlist catenate intlist a,intlist b intlist bp b while bp null return l 這段 的邏輯是錯誤的,不用過多理會。我想強調的是,這個函式要求返回intlist型別的資料型別,雖然在函式中對l進行宣告了,最...