目標:去除列表中的奇數元素
以列表[4, 5, 5, 4]為例,第一次寫出的**如下:
def
purify
(lst):
for i in lst:
if i % 2 != 0:
lst.remove(i)
return lst
lst = [4, 5, 5, 4]
print(purify(lst))
得到的輸出為:
[4, 5, 4]
為何元素5沒有被去除?
這裡需要聯絡到for和remove的特性:
for中的i遍歷的是列表的索引(index),而remove直接移除列表中的這個值。
迴圈索引i列表
104[4, 5, 5, 4]21
5(被刪除)
[4, 5, 4]32
4(第二個5因為第乙個5被刪除而被跳過)
[4, 5, 4]
所以想要用remove直接解決淨化問題行不通。
經過思考之後,終於寫出了行之有效的**:
def
purify
(lst):
move =
for i in lst:
if i % 2 != 0:
for x in move:
lst.remove(x)
return lst
lst = [4, 5, 5, 4]
print(purify(lst))
執行結果為:
[4, 4]
WPF 列表虛擬化時的滾動方式
原文 wpf 列表虛擬化時的滾動方式 listbox的滾動方式 分為畫素滾動和列表項滾動 通過listbox的附加屬性scrollviewer.cancontentscroll來設定。因此listbox的預設模板中,含有scrollviewer,scrollviewer下存放列表內容 scrollv...
PYTHON 列表與元組
列表簡介 是一種內建的資料結構,用來儲存一系列的元素 同js一樣,由於解釋性語言不必宣告資料型別,所以陣列的元素也可以很靈或的不相同。列表的運算 index索引運算 切片運算 拼接運算 重複運算 成員運算in 長度運算len 迴圈for 列表方法 list.intex 可以返回任意的方法 my li...
python列表與元組
在python中,最基本的資料結構為序列 sequence 序列中的每個元素都有編號,即其位置或索引,其中第乙個元素的索引為0,第二個元素的索引 為1,依此類推。在有些程式語言中,從1開始給序列中的元素編號,但從0開始指出相對於序列 開頭的偏移量。這顯得更自然,同時可迴繞到序列末尾,用負索引表示序列...