舉例說明: a = [1,2,3,4,5,6,7] 正向索引: a[0:4:1] == [1,2,3,4] 反向索引: a[-1:-4:-1] == [7,6,5] 默認索引: a[1:] == [2,3,4,5,6,7] 列表的拷貝(傳值) b = a [ : ]
+
生成一個新的列表 。c = a+bExtend: 接受參數并將該參數的每個元素都添加到原有的列表中,原地修改列表而不是新建列表。Append: 添加任意對象到列表的末端。Insert: 插入任意對象到列表中,可以控制插入位置。修改列表本身只需要直接賦值操作就行。
A = [1,2,3] A[0] = ‘haha’ A == [‘haha’,2,3]
del :我們通過索引刪除指定位置的元素。
del a[0] a = [1,2,3] b = a del a #刪除列表對象的引用, PRint b 仍為[1,2,3] del a[:] #清空列表對象的元素,此時再print b為空列表[]
remove:移除列表中指定值的第一個匹配值。如果沒找到的話,會拋異常。
a = [1,2,3] a.remove(‘2’)
pop:返回最后一個元素,并從list中刪除它。
a = [1,2,3] a.pop()
In/not in我們可以判斷一個元素是否在列表里。 返回一個bool類型,元素在列表里返回true,否則返回fasle.
[expr for iter_var in iterable] 首先迭代iterable里所有內容,每一次迭代,都把iterable里相應內容放到iter_var中,再在表達式中應用該iter_var的內容,最后用表達式的計算值生成一個列表。
比如我們要生成一個包含1到10的列表: 方法一:[x for x in range(1,11)]
方法二:Range(1,11) #注意Range() 函數與range的區別
[expr for iter_var in iterable if cond_expr] 加入了判斷語句,只有滿足條件的內容才把iterable里相應內容放到iter_var中,再在表達式中應用該iter_var的內容,最后用表達式的計算值生成一個列表。
比如要生成包含1到10的所有奇數列表:
方法一:range(1,11,2) 注:關于range函數:range( start, end ,step = 1) range(end)
方法二:[x for x in range(1,11) if x % 2 == 1]
列表推導式的一個不足是不要生成所有的數據用以創建列表。
生成器表達式(列表推導式的擴展):不真正創建數字列表,而是返回一個生成器,這個生成器在每次計算出一個條目后,把這個條目產生出來。使用了“延時計算”,使用內存上更有效。 (expr for iter_var in iterable if cond_expr)
sort()函數:從小到大排序列表,這個方式直接修改原列表。返回值為None。
a = [33,11,22,44] b = a.sort() print b #輸出的內容是None print a #輸出:[11,22,33,44]
reverse()函數:反轉一個list, 返回值為None,其余同上。
a =’asf’ list(a) == [‘a’,’s’,’f’] a = (1,2) list(a) == [1,2]
新聞熱點
疑難解答