Python基本資料結構 列表

2021-07-27 05:34:13 字數 2720 閱讀 6850

有序的集合

通過偏移來索引,從而讀取資料

支援巢狀

可變的型別

舉例說明:

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+b

extend: 接受引數並將該引數的每個元素都新增到原有的列表中,原地修改列表而不是新建列表

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]

xrange(開始,結束,步長 )生成乙個xrange物件 a = xrange(1,10)

比較:range直接生成乙個列表,xrange生成乙個xrange物件。

xrange用法:當我們需要操作乙個非常大資料,而且記憶體比較吃緊的時候,可以用它來節省記憶體;一般用在迴圈裡面,只需操作部分資料,推薦使用xrange。

for m in range(1000):

if m == 10:

print

'pass'

break

for m in xrange(1000): #這裡只需生成[0-10]的列表,節省記憶體.

if m == 10:

print

'pass'

break

Python基本資料結構 列表

列表 1.有序的集合 2.通過偏移來索引,從而讀取資料 3.支援巢狀 4.可變的型別 列表的操作 1.切片 a 1,2,3,4,5,6,7 正向索引 反向索引 預設索引 2.新增操作 1 生成新的列表 2 extend 接受引數並將該引數的每個元素新增到原有列表中,在原位址修改列表而不是新建列表。4...

三 Python的基本資料結構 列表

1 列表 列表的切片 正向索引,反向索引 a 1,2,3,4,5,6,7 print a 0 4 1 正向索引 print a 1 4 1 反向索引 2 列表新增操作 生成乙個新的列表 extend 接受引數並將該引數的每個元素都新增到原有的列表中,原地修改列表而不是新建列表 insert 插入任意...

Python 基本資料結構

列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...