python高階筆記1 列表和元組用法詳細剖析

2021-09-26 18:26:09 字數 3875 閱讀 7102

開始之前:本文的所有程式是連續的

1.4.5 將列表值排序sort()

1.4.6 列表的相加和複製

2. 元組

列表和元組本身可以包含很多值,這樣就使得我們處理較多資料時變得方便,下面我就記錄一下在我們python程式設計過程中常用的這兩種資料型別,以及它們的用法

我們使用[ ]來表示乙個列表,裡面的值可以是數字也可以是字串,如下例所示:

list1 =[1

,2,3

,4,5

]list2 =

['cat'

,'dog'

,'pig'

]print

(list1)

print

(list2)

輸出結果即為:

[1, 2, 3, 4, 5]

[『cat』, 『dog』, 『pig』]

這和c++陣列的用法很像,python中列表的第乙個元素的下標為0,後面以此類推,因此,我們可以用:列表名[下標]的方式獲取列表的單個值(注意:下標不能超過列表的 最大長度-1)

如下例所示:

print

(list1[2]

) #輸出3

print

(list2[1]

) #輸出'dog'

當然,也可以反向表示,比如下標-1就是最後乙個元素,-2是指倒數第二個元素

我們可以使用切片法,即:列表名[起始元素下標 : 終止元素下標]的方法來取得子列表

注意:切片的範圍包括起始元素,不包括終止元素在非互動式編輯環境中,得使用賦值操作才會讓取得原來列表的切片

如下例所示:

list1 = list1[1:

4]

list2 = list2[0:

2]print

(list1)

print

(list2)

輸出結果:

[2, 3, 4]

[『cat』, 『dog』]

l

=len

(list1)

print(l

)

輸出結果為3

如下例所示:

list1.(5

)list2.

insert(1

,'monkey'

)print

(list1)

print

(list2)

輸出:

[2, 3, 4, 5]

[『cat』, 『monkey』, 『dog』]

del() 的用法:del 列表名[想要刪除的元素的下標]

remove()的用法:列表名.remove(想要刪除的值)

如下例所示:

del list1[1]

list2.

remove

('monkey'

)print

(list1)

print

(list2)

輸出:

[2, 4, 5]

[『cat』, 『dog』]

注意:如果某乙個值在列表**現多次,那麼remove()方法只會刪除第一次出現的值

1.4.4.1 in 和 not in 操作符

為了判斷某個值是否在列表裡面,我們可以用 「元素值」 in / not in 列表 的方式判斷,返回值是true或false,如下所示:

4

in list1 #對應true

'monkey'

in list2 #對應false

'pig' not in list2 #對應true

1.4.4.2 用index()方法查詢

index()的引數是需要查詢的元素的值,如果該值存在於列表之中,就返回它的下標,如果不在,就報錯,如下例所示:

list1.

index(4

)

輸出1

list2.

index

('monkey'

)

結果會報錯:

valueerror \quad\quad

traceback (most recent call last)

in ()

----> 1 list2.index(『monkey』)

valueerror: 『monkey』 is not in list

對於只有數字或者只有字串的列表,我們可以使用sort()進行排序,如下例所示:

list3 =[5

,6,1

,2,-

8,0]

list4 =

['dog'

,'cat'

,'monkey'

,'lion'

]list3.

sort()

list4.

sort()

print

(list3)

print

(list4)

輸出:

[-8, 0, 1, 2, 5, 6]

[『cat』, 『dog』, 『lion』, 『monkey』]

值得說明的幾件事:

sort()方法對列表進行當場排序,因此,不要寫成:list3 = list3.sort()的形式,否則會返回none

sort()方法對字串列表進行排序時,使用的是ascii字元順序

如果想按照字典順序排列,則在sort()的引數中寫上key = str.lower

不要對那些既有數字又有字串的列表呼叫sort()

我們可以對兩個列表使用+表示將他們合二為一,如下例所示:

list5 = list3 + list4

print

(list5)

輸出:[-8, 0, 1, 2, 5, 6, 『cat』, 『dog』, 『lion』, 『monkey』]

我們還可以用乙個列表和乙個整數相乘以實現列表的複製:

list6 =[1

,2,3

]list6 = list6 *

2print

(list6)

輸出:[1, 2, 3, 1, 2, 3]

輸入形式的不同:元組的輸入使用(…),而不是[…]

元組不能讓他們的值被修改,新增或刪除

print

(type((

'dog'))

) #str

print

(type((

'dog',)

)) #tuple

輸出:

使用list()作用於乙個元組,可以將其變為列表,使用tuple()作用於乙個列表可以將其轉化為乙個元組,注意,這兩個函式是需要使用賦值來返回的,我們看看下面的例子:

spam =[1

,2,3

,4,5

]spam =

tuple

(spam) #請注意這裡是需要賦值來返回的

print

(spam)

print

('\n'

)spam =

list

(spam)

print

(spam)

輸出:

(1, 2, 3, 4, 5)

[1, 2, 3, 4, 5]

1 列表和列表項

列表 列表是乙個資料結構,用來追蹤任務,列表中有乙個指標指向列表項 列表是乙個結構體,內部攜帶乙個指標,指標指向列表項,列表項形成雙向鏈式結構掛載在列表下 乙個列表下面可以有很多的列表項,每個列表項都會有乙個指標指向這個列表,下面是乙個列表 typedef struct xlist list t l...

Python學習1 列表

str 轉換成字串 可以用來避免型別出錯 用方括號表示 列表是從0開始索引而不是1 del 刪除知道位置的元素不繼續使用該值 pop 刪除已知位置的元素並繼續使用該值 remove 刪除已知元素的值,也可以繼續使用該值,但是remove只能刪除一次,不能刪除重複的值,需要迴圈刪除 sort 對列表進...

Python高階06 列表推導

列表推導是一種從其他列表建立列表的方式,類似於數學中的集合推導。列表推導的使用方式非常簡單,有點類似於for迴圈。x x for x in range 10 0,1,4,9,16,25,36,49,64,81 如果想列印那些能被3整除的平方值呢?這時候可以在列表推導中新增一條if語句 x x for...