python中的列表 list 詳解

2021-07-16 20:46:57 字數 3405 閱讀 4575

列表是python中最基本的資料結構,列表是最常用的python資料型別,列表的資料項不需要具有相同的型別。列表中的每個元素都分配乙個數字 - 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。

python有6個序列的內建型別,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,python已經內建確定序列的長度以及確定最大和最小的元素的方法。

列表list

定義和初始化 list

定義個空列表

in [1]: li =

in [2]: type(li)

out[2]: list

初始化list,list 中的元素沒有型別要求,可以是任何型別

in [3]: li = [1,2,』a』,[『a』,4]]

in [4]: li

out[4]: [1, 2, 『a』, [『a』, 4]]

列表的下標

python中列表的下標是從0開始的。

in [4]: li

out[4]: [1, 2, 『a』, [『a』, 4]]

in [5]: li[2]

out[5]: 『a』

in [6]: li[4]

indexerror

traceback (most recent call last)

in ()

—-> 1 li[4]

indexerror: list index out of range

得到list 長度

in [7]: len(li)

out[7]: 4

in關鍵字

在for迴圈中使用表示遍歷list中的所有元素:

in [8]: for x in li:

…: print x

…: 1

2 a

[『a』, 4]

in 也可以作為乙個二元操作符使用,查詢某個元素是否在list中存在:

in [9]: 『a』 in li

out[9]: true

del 刪除list中某個元素:

in [10]: li

out[10]: [1, 2, 『a』, [『a』, 4]]

in [11]: del li[0]

in [12]: li

out[12]: [2, 『a』, [『a』, 4]]

extend 方法,接受乙個迭代器,將迭代器的所有元素追加到list中:

in [17]: li

out[17]: [2, 『a』, [『a』, 4], 666]

in [18]: li.extend([『abc』,』cba』])

in [19]: li

out[19]: [2, 『a』, [『a』, 4], 666, 『abc』, 『cba』]

insert 方法,li.insert(2,』x』) , li.insert(-1,』mm』) ,在某個索引下標之前插入某個資料。

remove 方法,li.remove(『a』) ,從list中移除某個元素。

pop 方法,接受乙個可選引數index,remove下標所指向的元素,並將鈣元素返回,li.pop() , li.pop(2) :

in [19]: li

out[19]: [2, 『a』, [『a』, 4], 666, 『abc』, 『cba』]in [20]: li.pop()

out[20]: 『cba』

in [21]: li

out[21]: [2, 『a』, [『a』, 4], 666, 『abc』]

in [22]: li.pop(2)

out[22]: [『a』, 4]

in [23]: li

out[23]: [2, 『a』, 666, 『abc』]

count 方法,返回某個值在list出現的次數, li.count(『a』)

index 方法,返回第乙個匹配value的下標:

in [28]: li

out[28]: [2, 『a』, 666]

in [29]: li.index(『a』)

out[29]: 1

in [30]: li.index(『b』)

valueerror

traceback (most recent call last)

in ()

—-> 1 li.index(『b』)

valueerror: 『b』 is not in list

還可以指定起始和結束查詢的範圍引數 li.index(『a』,2,6)

in [33]: li

out[33]: [2, 『a』, 666, 『a』, 『a』, 『b』]

in [34]: li.index(『a』,2)

out[34]: 3

sort 方法,直接修改list內容,不返回值. li.sort() ,還可以接受三個可選引數。l.sort(cmp=none, key=none, reverse=false)

reverse 方法。li.reverse()

list的切片

li[i],li[a:b],li[a:e:b]–第三個引數為步長,index每次加幾,預設為1

in [40]: li

out[40]: [『b』, 『a』, 『a』, 『a』, 666, 2]

in [41]: li[2:4]

out[41]: [『a』, 『a』]

in [43]: li[:2]

out[43]: [『b』, 『a』]

in [44]: li[4:]

out[44]: [666, 2]

對list 做一次深copy

in [45]: li[:]

out[45]: [『b』, 『a』, 『a』, 『a』, 666, 2]

in [46]: li[2:4:2]

out[46]: [『a』]

用切片實現list 翻轉

in [47]: li

out[47]: [『b』, 『a』, 『a』, 『a』, 666, 2]

in [48]: li[::-1]

out[48]: [2, 666, 『a』, 『a』, 『a』, 『b』]

得到下標為偶數的list

in [50]: li

out[50]: [『b』, 『a』, 『a』, 『a』, 666, 2]

in [51]: li[::2]

out[51]: [『b』, 『a』, 666]

得到下標為奇數的值

in [52]: li[1::2]

out[52]: [『a』, 『a』, 2]

列表的切片操作是乙個複製操作,並不對原始列表進行修改。

Python 中的 List 列表

任意物件的有序集合 列表可以包含任何種類的物件 列表都是可變的 列表是有序的 2 常用操作 列表長度 l1 1,2,3,4 print len l1 4 列表拼接 l2 l1 5,6 print l2 1,2,3,4,5,6 生成重複列表 print list 5 list list list li...

python 中的列表List

一 定義 能裝東西的東西 列表中裝的資料是沒有限制的,大小基本上是夠用的列表使用來表示。在列表中每個元素與元素之間用逗號隔開 有索引和切片 索引 每個元素對於乙個單獨索引號 切片,list start end step 例如li alex wusir ritian barry wenzhou pri...

python中的列表LIST

首先呢我們解釋一下什麼是列表 列表是python中最基本的資料結構,列表是最常用的python資料型別,列表的資料項不需要具有相同的型別。列表中的每個元素都分配乙個數字 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。python有6個序列的內建型別,但最常見的是列表和元組。序列都可以進...