列表:
同構:所有的資料是相同
異構:所有的資料型別不同
建立列表
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...