關於python list的 號指標問題

2021-10-08 01:36:22 字數 1492 閱讀 2267

a = [『1』,『2』,『3』]

b = a

print(a)

print(b)

[『1』, 『2』, 『3』]

[『1』, 『2』, 『3』]

那麼當a發生改變時,b的值會發生改變嗎?

答案:會!

a[0] = 『0』

print(a)

print(b)

[『0』, 『2』, 『3』]

[『0』, 『2』, 『3』]

為什麼呢?

這裡涉及到乙個原理,python的=號只是將指標指向某個值,並非將a值賦值給b值,或者建立b值。

如何更改這種指標從而變成建立新的值呢?

方法有兩種,以下為示範:

方法1 使用list方法建立

a = [『1』,『2』,『3』]

b = list(a)

a[0] = 『0』

print(a)

print(b)

[『0』, 『2』, 『3』]

[『1』, 『2』, 『3』]

方法2 使用set方法建立(同時set方法有去除列表中重複值的功能)

a = [『1』,『2』,『3』]

b = set(a)

a[0] = 『0』

print(a)

print(b)

a = [『1』,『2』,『3』,『3』]

b = set(a)

a[0] = 『0』

print(a)

print(b)

[『0』, 『2』, 『3』]

[『0』, 『2』, 『3』, 『3』]

但是這裡b的型別不是list

print(type(b))

set可以通過list方法將其轉為list型別

b = list(b)

print(b)

print(type(b))

[『1』, 『3』, 『2』]

所以其實set的方法和list方法可以歸為一類

方法2 使用.copy()方法建立

a = [『1』,『2』,『3』]

b = a.copy()

a[0] = 『0』

print(a)

print(b)

a = [『1』,『2』,『3』,『3』]

a[0] = 『0』

print(a)

print(b)

[『0』, 『2』, 『3』]

[『1』, 『2』, 『3』]

[『0』, 『2』, 『3』, 『3』]

[『1』, 『2』, 『3』]

你學會了嗎?快動手解決遇到的問題吧!!

python list的簡單命令

1.修改 或者說是替換,可以用函式replace實現 def text,word text text.split if word in text text.replace word,len word text join text return text 是乙個把text內出現特定word時,替換成 ...

Python list的基本操作

name 1 2 3 print name 想要插入多個物件,使用extend 需要注意的是extend中的引數 必須是列表,需要將多個物件組合成列表的形式 因此,extend還可以將兩個列表進行合併 例子如下 name.extend p print name list的三種刪除方法,推薦第一種和第...

Python list的常用操作

python列表的常用操作方法 主要介紹了python中列表 list 的詳解操作方法,包含建立 訪問 更新 刪除 其它操作等,需要的朋友可以參考下。1.建立列表。只要把逗號分隔的不同的資料項使用方括號括起來即可 1 list wade james bosh haslem 與字串的索引一樣,列表索引...