Python列表原來是這樣的!

2021-10-09 22:23:43 字數 2591 閱讀 6586

列表

列表是python中最基本也是最常用的資料結構之一。列表中的每個元素都被分配乙個數字作為索引,用來表示該元素在列表內所排在的位置。第乙個元素的索引是0,第二個索引是1,依此類推。

python的列表是乙個有序可重複的元素集合,可巢狀、迭代、修改、分片、追加、刪除,成員判斷。

從資料結構角度看,python的列表是乙個可變長度的順序儲存結構,每乙個位置存放的都是物件的指標。

比如,對於這個列表 alist = [1, 「a」, [11,22], ],其在記憶體內的儲存方式是這樣的:

1. 建立方式

建立乙個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。列表內的元素,可以是其它任意型別的資料,可多層巢狀列表,元素個數無限制。

>>

> lis =

# 建立乙個空列表

>>

> lis =[1

,2,3

]>>

> lis =[1

,'a',[

11,22]

,]>>

> lis =[1

,2,[

3,4,5]]

2. 訪問列表內的元素列表從0開始為它的每乙個元素順序建立下標索引,直到總長度減一。要訪問它的某個元素,以方括號加下標值的方式即可。注意要確保索引不越界,一旦訪問的 索引超過範圍,會丟擲異常。所以,一定要記得最後乙個元素的索引是len(list)-1。

>>

> lis =

["a"

,"b"

,"c"

]>>

> lis[0]

'a'>>

> lis[1]

'b'>>

> lis[2]

'c'>>

> lis[3]

traceback (most recent call last)

: file ""

, line 1,in

lis[3]

indexerror:

list index out of range

修改元素的值直接對元素進行重新賦值。

>>

> lis[0]

'a'>>

> lis[0]

="d"

>>

> lis[0]

'd'

4. 刪除元素使用del語句或者remove(),pop()方法刪除指定的元素。

>>

> lis =

["a"

,"b"

,"c"

]>>

>

del lis[0]

>>

> lis

['b'

,'c'

]>>

> lis.remove(

"b")

>>

> lis

['c'

]>>

> lis.pop(

)'c'

>>

> lis

5. 列表的特殊操作除了以上的常規操作,列表還有很多有用的其它操作。

6. 針對列表的常用函式

python有很多內建函式,可以操作列表。

# 不能混合不同型別進行最大最小求值

traceback (most recent call last)

: file ""

, line 1,in

max(s)

typeerror:

'>'

not supported between instances of 'str'

and'int'

這些操作都不會修改列表本身,屬於安全操作。max、min在python3中,不能對不同型別的物件進行大小的比較了。

for迴圈原來是這樣

for迴圈可以說是程式中最靈活,最常用,最重要的乙個迴圈用法,大家經常用到,但是你真正理解for迴圈的執行原理嗎?舉個例子 for i 0 i 8 i 對於這個語句執行結束的時候 i 是多少?經常用,卻沒怎麼注意,執行結束的時候 i 是8 下面說一下for迴圈語句的執行過程 for 表示式1 表示式...

快速排序 原來是這樣

咚咚咚,開講啦!今天呢,讓我們來看看一種快速的排序方法,哈哈,它的名字就叫做快速排序,時間複雜度 o nlogn 首先呢,以第乙個數 為了方便 為基準數也可以叫參照數,隨你怎麼叫,就是拿來參照的。比如 這樣一組亂序的數字 i j 6 1 2 7 9 3 4 5 10 8 小i站在 6 上面,小j站在...

MyBatis原來是這樣的 04

關於介面的理解 乙個體有可能有多個抽象面。抽象體與抽象面是有區別的。三個面向區別 1 我們在我們的介面中新增註解 查詢全部使用者 select select id,name,pwd password from user public listgetalluser 2 在mybatis的核心配置檔案中...