python迭代器 Python中l(wèi)ist賦值時,L1=L與L1=L[:] 有什么區(qū)別?
Python中l(wèi)ist賦值時,L1=L與L1=L[:] 有什么區(qū)別?首先清楚,Python對象的三要素——Id,Type,Value。Id:唯一標識一個對象Type:標識對象的類型Value:對象的值
Python中l(wèi)ist賦值時,L1=L與L1=L[:] 有什么區(qū)別?
首先清楚,Python對象的三要素——Id,Type,Value。
Id:唯一標識一個對象
Type:標識對象的類型
Value:對象的值
然后,看下面代碼樣例:
執(zhí)行結果:
發(fā)現(xiàn)l與l1實際是指向同一個對象,l2指向了新的對象(切片生成的新對象)。
同時需要二外注意,l1和l2是否相等呢?
l1 is l2 判斷 l1 對象是否就是l2對象(通過id來判斷)
l1 == l2 判斷 l1 對象的值是否和 l2 對象的值相等(通過value來判斷)
Python如何初始化列表?
在 Python中,假如我們預先知道列表的長度,若預先初始化該長度的列表,然后對每一個賦值,會比每次使用 list.append() 的效率更高。接下來介紹兩種初始化列表的方式:
使用運算符初始化列表元素和長度
使用序列初始化列表元素和長度
如果想過濾掉序列中不需要的元素,可以用列表推導式,如下