Python 資料型別 列表

2022-01-10 09:23:40 字數 2457 閱讀 9106

列表和字段都可以在原處進行修改,可以按照需求增長或縮短,並且可以包含任何型別的物件或被巢狀。列表和字典儲存的是物件的引用,而不是拷貝。

列表是有序的序列,每乙個列表項的順序是固定的,這使得列表可以通過指定的偏移來索引和分片。列表是可變的序列,支援在原處修改。

列表項可以是任何型別,或物件,也可以巢狀列表。

1,列表的建立

建立乙個空的列表:

>>> l=

建立乙個純數字列表:

>>> l=[1,2,3]

建立乙個數字和字元的混合型別列表:

>>> l=[1,2,'a']

建立乙個巢狀物件的列表:

>>> l=[1,'a',[2,'b']]

>>>l

[1, 'a', [2, 'b']]

建立乙個範圍列表:

range() 函式用於建立乙個整數列表,range函式語法:

range(start, stop[, step])

引數說明:

使用range函式建立乙個範圍列表:

>>> list(range(1,10,2))

[1, 3, 5, 7, 9]

2,列表解析

使用列表解析,可以使用迭代器來生成列表:

>>> l=[x**2 for x in range(0,5)]

>>>l

[0, 1, 4, 9, 16]

3,列表的索引和分片

列表和字串都是有序的序列,它們的索引和分片的格式很相似:

例如:對列表進行索引和分片

>>> l=[1,'a',[2,'b']]

>>> l[1]

'a'>>> l[2]

[2, 'b']

>>> l[2][1]

'b'>>> l[0:2]

[1, 'a']

列表的長度是固定的,不能越界訪問列表,列表的最大索引是列表長度-1,越界會導致python報錯。

1,追加

向列表的末尾追加乙個序列:list.extend(seq)

>>> l.extend([3,5])[1, 'a', [2, 'b'], 4, 3, 5]

2,插入

向列表的特定位置插入乙個列表項:list.insert(index,obj)

>>> l.insert(2,'b')[1, 'a', 'b', [2, 'b'], 4, 3, 5]

3,移除列表項

根據索引來刪除列表中的元素,list.pop(index=-1),返回的是刪除的列表項:

>>> l.pop(2)

'b'>>>l

[1, 'a', [2, 'b'], 4, 3, 5]

根據索引來刪除列表項,可以使用 del 命令來刪除指定索引的列表項:del list[index]

>>> del l[5]

[1, 'a', [2, 'b'], 4, 3]

根據元素值來刪除列表的元素,可以使用list.remove(obj)函式,從列表中刪除值是obj的元素:

>>> l.remove(3)

4,修改列表項

由於列表是可變的,支援原處修改列表項,也就是說,可以通過索引直接修改列表物件。

>>> l[4]=l[4]+2

>>>l

[1, 'a', [2, 'b'], 4, 5]

5,對列表進行排序:list.sort()

當列表項具有可比性時,可以對列表進行排序,list.sort(reverse=false),

>>> sl=['a','c','e','d']

>>>sl.sort()

>>>sl

['a', 'c', 'd', 'e']

6,檢視某一元素的索引 list.index(obj)

從列表中找出某個值第乙個匹配項的索引位置

>>> l.index(5)

4

7,列表的其他操作

Python資料型別 列表型別

res list hello 能被for迴圈的型別均可作list型別轉換,字串,列表,字典l 11,22,33 print l 1 l 0 44 print l l 11,22,33,44,55 res l 0 4 2 l 頭 尾 步長 顧頭不顧尾,不是改原值,是產生新值 res1 l 複製原列表l...

python資料型別 列表(序列型別)

序列的取值方法 索引操作符 和 切邊操作符,字串和元組類似,定義完成後,資料的值不可改變,list 空列表 type list list csdn 23,字元搬運工 lst 0 csdn 取值 切片和索引 list 新增 刪除 del list list.remove list list.remov...

Python資料型別 列表2

一 list內建方法 迭代 a 12456 print list a 1 2 4 5 6 b list 1,2,3 print b 1,2,3 c list 1234 print c 報錯,因為整數是不可迭代物件。d list print d a1 b1 二 range 和 xrange 的區別 r...