Python 06 資料結構之列表

2021-10-23 09:30:55 字數 3334 閱讀 5403

2. 列表(list)

3. 通用操作

4. 修改列表

5. 列表的方法(***.***)

6. 遍歷列表

7.練習

1.1 基本概念

• 序列是python中最基本的一種資料結構。序列用於儲存一組有序的資料,所有的資料在序列當中都有乙個唯一的位置(索引)並且序列中的資料會按照新增的順序來分配索引

• 資料結構指計算機中資料儲存的方式

1.2 序列的分類

• 可變序列(序列中的元素可以改變):例如 列表(list)字典(dict)

• 不可變序列(序列中的元素不能改變):例如 字串(str)元組(tuple)

2.1 列表的使用

• 列表的建立:通過來建立乙個空列表

2.2 切片

切片是指從現有列表中獲得乙個子列表,並不改變列表本身

• 通過切片來獲取指定的元素

• 語法:列表[起始 : 結束 : 步長]

• 通過切片獲取元素時,會包括起始位置的元素,不會包括結束位置的元素

• 起始位置和結束位置的索引可以不寫

• 如果省略結束位置, 則會從當前的開始位置一直擷取到最後

• 如果省略開始位置, 則會從第乙個元素擷取到結束的元素,但是不包括結束的元素

• 如果開始位置和結束位置都省略, 則則會從第乙個元素開始擷取到最後乙個元素

• 步長表示每次獲取元素的間隔,預設是1(可以省略不寫)

• 步長不能是0,但可以是是負數

+*

+可以將兩個列表拼接成乙個列表

*可以將列表重複指定的次數 (注意2個列表不能夠做乘法,要和整數做乘法運算)

innot in

in用來檢查指定元素是否在列表當中

not in用來檢查指定元素是否不在列表當中

len()獲取列表中元素的個數

max()獲取列表中最大值

min()獲取列表中最小值

list.index(x[, start[, end]])

• 第乙個引數 獲取指定元素在列表中的位置

• 第二個引數 表示查詢的起始位置

• 第三個引數 表示查詢的結束位置

• list.count(x) 統計指定元素在列表**現的個數

• 通過切片來修改(起始就是給切片的內容重新賦值,但是賦值的內容必須是乙個序列)

• 當設定了步長時,序列中元素的個數必須和切片中元素的個數保持一致

• 通過切片來刪除元素

del list[起始 : 結束]

list =

6.1 for迴圈

• 通過for迴圈來遍歷列表

語法

for 變數 in 序列(遍歷的規則)

: **塊

• 注意: for迴圈的**塊會執行多次,序列中有幾個元素就會執行幾次。每執行一次就會將序列中的乙個元素賦值給變數,所以我們可以通過變數來獲取列表中的元素

6.2 range(start, stop[, step])

引數說明

start: 計數從 start 開始。預設是從 0 開始。例如range(5)等價於range(0, 5);

stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5

step:步長,預設為1。例如:range(0, 5) 等價於 range(0, 5, 1)

7.1 列表倒序

現在有 a = [1,2,3,4,5,6] 不通過函式的形式實現列表的反轉([6,5,4,3,2,1]) 並寫出推導過程

a =[1

,2,3

,4,5

,6]a = a[::

-1]print

(a)

[6, 5, 4, 3, 2, 1]
思路:通過切片的方式得到倒序的子列表,將子列表賦值給原有列表,實現列表反轉

7.2 猜數字

給使用者9次機會 猜1 - 10 個數字隨機來猜數字。如果隨機的數字和使用者輸入的數字一致則表示正確,如果不一致則表示錯誤。最終結果要求使用者怎麼也猜不對

a =[1

,2,3

,4,5

,6,7

,8,9

,10]i =

1while i <10:

b =int(

input

('請輸入1~10以內的乙個數:'))

print

('猜測錯誤'

) a.remove(b)

i +=

1print

('很遺憾,最終結果為:'

, a[0]

)

請輸入1~10以內的乙個數:1

猜測錯誤

請輸入1~10以內的乙個數:2

猜測錯誤

請輸入1~10以內的乙個數:3

猜測錯誤

請輸入1~10以內的乙個數:4

猜測錯誤

請輸入1~10以內的乙個數:5

猜測錯誤入

請輸入1~10以內的乙個數:6

猜測錯誤

請輸入1~10以內的乙個數:7

猜測錯誤

請輸入1~10以內的乙個數:8

猜測錯誤

請輸入1~10以內的乙個數:10

猜測錯誤

很遺憾,最終結果為: 9

7.3 獲取列表相同元素

有兩個列表 lst1 = [11, 22, 33] ,lst2 = [22, 33, 44]獲取內容相同的元素

lst1 =[11

,22,33

]lst2 =[22

,33,44

]for i in lst1:

for o in lst2:

if i == o:

print

(i)

22

33

python資料結構之列表

和字串一樣,列表也是python中使用最普遍的資料結構之一,而且它很靈活,可以儲存多種不同的物件 數字,字串,甚至於其他的列表。列表的建立方法 1 利用python的內建方法list l1 list python l1 p y t h o n 2 直接賦值給方括號,元素之間用逗號隔開 l2 1,2,...

python資料結構之列表

null list int list 1 2,3 str list a b c int str list 1 2,a b int list 1 2,3 int list 4 out 1,2,3,1,2,3,1,2,3,1,2,3 一種是利用 操作符 int list 1 2,3 str list a...

資料結構之列表

在基礎資料結構中,列表作為最為基礎的乙個資料結構進行體現,在乙個程式中決定效率的關鍵核心因素就是資料結構和資料演算法,二者共同決定 時間複雜度的型別,因此萬丈高樓平地起,就從最基礎的列表操作和分析其時間複雜度開始 方法1 列表賦值 lis 方法2 列表疊加 列表疊加要注意,疊加的是可迭代物件 新增列...