python學習筆記四(列表)

2021-09-24 17:04:56 字數 2931 閱讀 4844

列表:

同構:所有的資料是相同

異構:所有的資料型別不同

建立列表

1.建立乙個普通列表:

[1,2,3]

2.建立混合列表:

[1,2,3,'hehe',[1,2,3]]

3.建立空列表

4.利用工廠函式建立

list():建立空列表

list(iterable):

從可迭代物件的元素中初始化乙個新的列表

可迭代物件

列表的長度:列表元素的個數

len(列表)---返回列表長度

從列表中訪問元素

1.通過下標訪問元素

2.通過for迴圈進行遍歷

列表中所有的元素訪問一遍,不重複,不遺漏

訪問:讀取資料,修改資料

3.通過下標直接修改元素內容

4.元素互換:

l[2],l[3]=l[3],l[2]

5.元素刪除

1.clear()返回none,刪除列表中所有元素

2.pop([index])刪除並返回元素,當有引數時返回指定元素,否則,刪除最後乙個元素

如果列表為空或列表超出範圍,丟擲異常indexerror

3.remove(value) 返回none

刪除當前指定值的元素

如果這個值不在列表中,則丟擲valueerror異常

4.del 內容 刪除語句

刪除指定內容

列表分片

1.也稱之為切片

slice

可以獲取多個資料---利用切片

切片的方式

l[start:stop]

從start開始,到stop結束,stop取不到

本質上度原有的列表進行了拷貝,並沒有修改原列表

簡寫方式

如果從起始下標獲取,則起始下標可以省略

如果獲取到最後乙個資料,則結束下標可以省略

如果其開始下標和結束下標都不寫---獲取全部資料---整個列表的拷貝

取值範圍

1.列表的下標:index

可以是負數:從後向前第index個元素

1.[-1]:從後向前數第乙個元素

2.index的取值範圍:

正數:0~len(list)-1

負數: -len(list)~-1

3.切片的index實際上是乙個取值範圍,並不是確切的下標

4.切片可以有第三個引數:step

l[start:stop:step]

step:步長:可以是負數

如果step是負數,則表示反向切片

列表常用的運算子

1.比較運算子:

比較規則

從第乙個元素開始對比,如果值一樣則比較下乙個

如果是字串,比較的是編碼值

如果任何乙個下標的元素可以比較出大小,則不繼續比較

不同型別的資料不能比較大小

2.邏輯運算子:

3.拼接運算子:加號

l1+l2

返回乙個新列表(兩個列表元素拼接)

4.重複操作:乘號

多個相同的列表進行拼接

5.成員關係操作符

in/not int

列表中的其他函式

1.copy():返回list

淺拷貝拷貝出乙個新的列表

2.count(value) 返回元素出現次數

排序:分析---程式歸納

程式歸納法,控制變數法

八大排序

氣泡排序,選擇排序,快速排序

基數排序,歸併排序,shell(希爾排序),直接插入排序,堆排序

氣泡排序

讓列表中的元素相鄰的兩個元素比較大小,如果不符合條件的,則更換位置

#氣泡排序

l=[5,4,3,2,1]

length=len(1)

for i in range(length-1):

for j in range(1,length-i):

if[j-1]>l[j]:

l[j-1],l[j]=l[j],l[j-1]

print(1)

選擇排序

每一次讓同乙個下標的元素和其他的元素作對比

#選擇排序

l=[4,3,2,1]

n=len(l)

for i in range(n-1):

for j in range(i+1,n):

if l[i]>l[j]:

l[i],l[j]=l[j],l[i]

print(l)

sort()

排序:list自帶的排序方法:

預設使用的歸併排序演算法

1.sort(key=none,reverse=false)返回none

將列表中的元素進行排序處理---會影響原列表 

key:要使用的排序方法

reverse:是公升序否要反轉

預設是公升序

2.reverse()返回none

原地反轉

二維列表

列表中存放列表

l=[[1,2,3],[2,3,4],[3,4,5]]

一維列表中的一維列表(套用幾層列表就是幾維列表)

#矩陣1.直接訪問

通過兩個下標進行訪問

l[1][0]

第乙個下標:行

第二個下標:列

2.遍歷

利用雙重迴圈(迴圈巢狀)

二維列表的建立

1.直接建立

l=[[1,2,3],

[4,5,6],

[7,8,9]]

2.拼接

l1=[[1,2,3]]

l2=[[4,5,6],[7,8,9]]

l1+l2

3.重複:

l1*3=[[1,2,3],[1,2,3],[1,2,3]]

如果修改任何乙個資料,其他的元素也跟著改

重複運算:將同乙個元素展示了多遍,本質上,是同乙個物件

python 自學筆記(四) 列表

有幾天沒有更新部落格了,畢竟是自學,最近事情確實比較多,有時候想學的時候反而沒時間,到有時間的時候反而不想學。以後得想辦法改掉這個缺點,只要有時間就要學習自己想學的東西,希望自學的同學能和我共同交流,其實我自學的道路非常孤獨,我也希望在學習的道路有個朋友。今天學習一下 python的列表,以後可能還...

Python基礎(四)列表

乙個列表裡是可以儲存各種資料型別。name jack tom bob 答案是有 computer print id coumpter 輸出結果不為空names jack tom bob print names 0 獲取第乙個元素 print names 1 獲取最後乙個元素 print names ...

Python學習手札(四)列表 元組

python是一種通用程式語言,我們用它來執行機器學習。簡單資料型別 列表就是個有序集合,沒有固定大小。元素1,元素2,元素3,元素n 中括號將所有元素括在一起,逗號將每個元素分開。可以直接建立乙個普通列表,也可以通過range 函式建立 用推導式建立。x a b c d g print x a b...