1. 程式人生 > 實用技巧 >【Python學習日記】B站小甲魚:列表和元組

【Python學習日記】B站小甲魚:列表和元組

【列表和陣列的區別】陣列只能存放一個型別的資料,列表可以是混合的。

建立列表就是直接建立

普通列表 member = [‘闖’,‘彬彬’]

混合列表 number = [1,‘闖',3.14,[1,2,3]]

空列表 empty =[]

三個為列表新增元素的方法

append() 該方法只有一個引數。下列程式顯示['闖', '彬彬'],len(member) = 2,但是append只能新增一個元素

member = ['']
member.append('彬彬')
print(member)

extend(),該方法只有一個引數。下列程式顯示['闖', '彬彬', 'cc', 'bb']。要注意的是 extend()中要新增的是一個列表即 extend([ ])

member = ['']
member.append('彬彬')
member.extend(['cc','bb'])
print(member)

insert() ,這個方法有兩個引數,第一個引數表示位置,第二個引數表示要插入的內容。下列程式的輸出是:['闖', 'likes', '彬彬', 'cc', 'bb']

member = ['']
member.append('彬彬')
member.extend(['cc','bb'])
member.insert(1,'likes')
print(member)

【從列表中獲取元素】

member[0],獲得第一個元素

從列表中刪除元素的三種方法:

remove(),該方法包含一個元素,以下程式就是把cc從列表中給刪除了

member = ['', 'likes', '彬彬', 'cc', 'bb']
member.remove('cc')
print(member)

del是一個語句,del member [1],就可以把第二個元素刪掉

程式略

pop(),有一個預設引數為陣列的長度,也可以直接賦值。member.pop可以把列表最末的一個值吐出來。例如name = member.pop(),則name = ’bb';如果是name = member.pop(1),則name = '彬彬'

程式略


【列表分片 slice】

利用列表分片可以得到原來列表的拷貝,下面這個程式得到的是['闖', 'likes', '彬彬']。不會影響原來的列表 member[0:3] 和 member[:3] 等價,如果是member[1:],則拷貝從1的位置到列表最後一個元素。如果是member[:]得到的是列表完全的拷貝

拷貝不會因為原列表的改變而改變,而如果直接複製list2=list1,如果list1改變了那list2也改變了

member = ['', 'likes', '彬彬', 'cc', 'bb']
adore = member[0:3]
print(adore)

列表的常用操作符

比較運算子:下列程式的結果是true

list1=[123]
list2=[234]
print(list1<list2)

下列的結果是false,列表之間的比較只比較第一個元素

list1=[123,234]
list2=[234,123]
print(list1>list2)

用+可以進行拼貼,下面程式輸出的結果是[123,234,234,123]

list1=[123,234]
list2=[234,123]
list3 = list1+list2
print(list3)

用*可以實現自身複製,下面程式輸出的結果是[123,234,123,234,123,234]

list1=[123,234]
print(list1*3)

成員操作符 in 和not in 可以作判斷 比如123 in list1 就會返回 ture


【一些list的內建函式 】

count( ) 計算引數在列表中出現的次數,例如list1.count(123)返回1

index( ) 返回引數在列表中的下標,也可以限制查詢的位置,例如list1.index(123,0,3),就是查詢在list1中123在0和3之間

reverse( ) 將整個列表翻轉

sort( )排序,預設從小到大;sort(reverse= Ture)可以從大到小排序


【元組】

元組是一個不可改變的型別。定義了一個元組以後,其中的任何一個元素都不能改變。(B站小甲魚拿什麼人妻和蒼井空當例子,感覺真的很猥瑣。)

建立元組 tuple =(1,2,3),查詢元組tuple[1],基本和列表相似。

如果元組中只有一個元素,則語法為temp = (1,)

8*(8) = 64

8*(8,) =(8,8,8,8,8,8,8,8,8)

元組的插入 :實際上是把元組拆成兩部分再構成新的元組

temp =('','彬彬')
temp=temp[:1]+('喜歡',)+temp[1:]
print(temp)

對於元組來說,只能用片切的方法間接去刪除元素

拼接操作符,關係操作符,邏輯操作符等都能應用於元組