用列表的方法.remove 刪除列表中元素的時候,會改變列表的下標,從而發生出乎意料的錯誤。所以如果想要刪除列表中元素,可以用如下方法:
錯誤的方法:
a = [1,2,3,4,5]
b = [1,2]
for i in
a: if i in b:
a.remove(i)
# a = [2, 3, 4, 5]
思考:刪除元素之後index是如何變化的。
正確的姿勢:
a = [1,2,3,4,5]
b = [1,4]
c = [i for i in
aif i not
in b]
# c = [2,3,5]
python的list在遍歷的時候刪除元素一定要小心,插入也同樣要小心
在迭代過程中修改迭代序列不安全(只有在使用鍊錶這樣的可變序列時才會有這樣的情況)。如果你想要修改你迭代的序列(例如:複製選擇項),你可以迭代它的複本。使用切割標識就可以很方便地做到這一點:
words = ['cat', 'window', 'defenestrate']
for w in
words[:]: # words的淺拷貝
iflen(w) > 6:
words.insert(0, w)
jquery中刪除元素的remove()方法
今天看jquery中刪除元素的方法,包括remove 方法和empty 方法 remove 方法為刪除被選元素及子元素 empty 方法為刪除元素中的子元素 其中remove 方法還有乙個是過濾的作用,可以篩選出符合要選的元素 例如 document reday function 那麼會刪除名為p1...
lua 使用remove刪除table資料
在lua語言中,一切皆是table,所有資料,函式都儲存在table中,但是當我們使用了table後,該如何清理table表中資料呢。先看乙個函式 table.remove table pos 刪除在pos位置上的元素,後面的元素會向前一棟,然後刪除的index會向前移動,導致刪除後的資料不是你想要...
Jsoup 刪除 remove的正確寫法
參考了一下這個例子,但是很遺憾,效果不大,要點在於jsoup的remove不能用賦值語句操作,否則就會出現這篇文章裡提到的情況 正確的做法是不要用等號賦值,elements.select class storyblock remove elements.select div remove eleme...