iT邦幫忙

0

python 移除list元素問題

  • 分享至 

  • xImage

list1 = [1,2,3]
list2 = list1
del list1[1]
print(list2)

結果print出來是[1,3]
我試了remove pop del都一樣
想問一下為什麼 不是應該是原來的list嗎
感謝

Zero皇 iT邦研究生 3 級 ‧ 2022-04-22 19:18:19 檢舉
在python中,物件的賦值就是簡單的物件引用,list2 只是list1的別名,但都是指向同一塊記憶體位置,你可以在list2 = list1下一行print(list1==list2),會印出True
wang84802 iT邦新手 5 級 ‧ 2022-04-25 10:56:17 檢舉
原來如此 了解
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-04-22 22:38:41

「數字」和「字串」是照你所想的
但「list」不是你所想的那樣
你所想的那樣,要寫list3 = list1.copy()
https://ithelp.ithome.com.tw/upload/images/20220422/20001787pj2HEQcNDo.png

a = 10000
b = a
a = a - 4434
print(a)
print(b)

str1 = "Good "
str2 = str1
str1 = str1 + "Morning."
print(str1)
print(str2)

list1 = [1,2,3]
list2 = list1
list3 = list1.copy()
del list1[1]
print(list1)
print(list2)
print(list3)
obarisk iT邦研究生 2 級 ‧ 2022-04-23 10:08:51 檢舉

list3 = list1[:] # 也可以

wang84802 iT邦新手 5 級 ‧ 2022-04-25 10:56:29 檢舉

OK 感謝

我要發表回答

立即登入回答