pytho remove函式刪除0,刪不完

2021-09-14 02:05:55 字數 533 閱讀 4810

又是二級刷題時。

python才學到測試一章,今天是刷題第一天,後天考試哈哈哈哈,我又菜又不學習的感覺…

剛剛刷到此題:

dat=['1','2','3','0','0','0']

for item in dat:

if item=='0':

dat.remove(item)

print(dat)

>>>['1', '2', '3', '0']

為什麼0刪不完呢…

answer:是for迴圈的問題,因為for迴圈實際是迴圈的列表下標(索引),同時由於列表的可變性,每一次刪除乙個元素,列表的長度就會發生變化,元素的索引也會發生變化。

下面具體分析此題:

刪第乙個0之前:

[『1』,『2』,『3』,『0』,『0』,『0』],第乙個0的下標為3

刪除下標為3的0之後列表變成了:

[『1』,『2』,『3』,『0』,『0』],而此時for迴圈到了下標為4的地方,找到0,刪除

前乙個0並沒有變化。

庫函式編寫刪除函式

又是乙個利用庫函式編寫其他函式的演算法,刪除字串很簡單,我們在設計的函式裡面建立乙個新的字元陣列,這個字元陣列用來存放我們想要得到的字串,什麼是我們想要的字串?我們從頭遍歷原字串,下標在index到index length範圍之內的就是我們要刪除的字元,因此當我們遍歷到這個下標區間時,直接跳過,其他...

Linux unset 刪除變數或函式

linux un set命令 功能說明 刪除變數或函式。語 法 unset fv 變數或函式名稱 補充說明 unset為shell內建指令,可刪除變數或函式。參 數 f 僅刪除函式。v 僅刪除變數。範例1 刪除環境變數 root linuxso.com lx ls lh 設定環境變數 root li...

mysql插入函式和刪除函式的區別

insert ignore into 當插入資料時,資料庫不會檢查主鍵 primary key 或者唯一主鍵 unique key 如出現重複資料,也不返回錯誤,可繼續往下執行。insert into 當插入資料時,資料庫會檢查主鍵 primary key 或者唯一主鍵 unique key 如果出...