python基礎之序列型別的方法 列表 元組

2022-10-02 10:09:10 字數 4578 閱讀 2449

li = [1, 2, 3, 4, 5]
insert()
li1 = [7, 8, 9, 10]

li1.insert(3, 'helloworld')

print('這是使用了insert:', li1)

這是使用了insert: [7, 8, 9, 'helloworld', 10]

這樣就將字串helloworld插入到了列表的第四個位置裡。

extend()

上面兩個方法是對單個元素進行增加,如果我們需要增加多個元素怎麼辦?

那就可以使用我們的extend()來進行新增,extend()可以將序列中的每個元素新增到末尾:

l1 = [1, 2, 3]

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

l1.extend(l2)

print(l1)

[1, 2, 3, 3, 4, 5, 6, 7, 8, 9]

上面的**先定義了兩個列表l1和l2,然後使用l1.extend(l2),將l2的每個元素新增到了l1的末尾。

增加講完了,接下來進行刪除操作,刪除也有對應的四個方法:del(),pop(),remove(),clear()

del()

del()是單獨的方法,不需要通過列表本身來進行呼叫,可以直接使用:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

del(li[0]) # 如果刪除列表中某個值請填寫對應的下標號

print('使用了del',li)

使用了del ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述**刪除了li[0],但是請注意,如果不進行索引的話,缺省會將這個變數刪除,請謹慎使用:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

del(li)

print(li)

nameerror: name 'li' is not defined

這就是刪除了整個變數,再列印這個變數時就會提示變數未定義

pop()

pop()方法不帶引數的話刪除預設刪除最後乙個元素,帶引數的話則刪除指定的下標值:

# pop:不帶引數刪除最後乙個元素

li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li1.pop()

print('使用了pop不帶引數',li1)

使用了pop ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l']

# 帶引數刪除指定下標

li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li1.pop(0) # 刪除第乙個元素

print('使用了pop帶引數',li1)

使用了pop帶引數 ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

pop()還有個神奇的地方,它可以讓你需要刪除的引數取出來繼續使用,使用完了再進行刪除:

li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

a = li1.pop(0)

if a == 'h':

print('helloworld')

print('使用了pop帶引數',li1)

helloworld

使用了pop帶引數 ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述**使用pop()刪除了第乙個元素,然後使用第乙個元素進行了乙個簡單的判斷,說明pop()可以為我們返回刪除的元素,讓我們先使用,使用完再刪除

remove()

remove()用來刪除乙個指定元素,無返回值,無法使用下標刪除:

li2 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li2.remove('l')

print('使用了remove',li2)

使用了remove ['h', 'e', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述**使用remove()刪除了乙個元素l

clear()

clear()用於清空列表,與del不同的是,它會為我們保留空列表,而不會把變數都刪除:

li2 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li2.clear()

print('使用了clear',li2)

使用了clear

上述**清除了列表後,保留了空列表

改的方法就比較簡單,直接索引出下標重新賦值即可:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li[0] = 'python' # 將字串python賦值給li[0]

print(li)

['python', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

這裡就對li[0]進行了重新賦值

有通過index查詢指定元素返回對應下標,也可以使用count來計算該元素出現過的次數:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

print('查詢對應下標', li.index('h'))

查詢對應下標 0

print(li[0]) #通過下標查詢對應的元素

h# count:查詢對應元素在列表**現的次數,如果列表中沒有該元素,則返回0

print('查詢元素出現過的次數', li.count('o'))

查詢元素出現過的次數 2

除了增刪改查,列表中還有其他的方法複製copy()、倒敘排列reverse()、從小到大排列sort()

複製li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

print("這是原來的列表", id(li))

這是原來的列表 139786018649480

li1 = li.copy()

print("這是乙個複製出來的列表", id(li1), li1)

這是乙個複製出來的列表 139786021304584 ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

使用li.copy(),再用乙個變數接收複製的列表,就可以實現複製出乙個新的列表來

倒敘排列

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

li.reverse()

print("對列表倒敘排序", li)

對列表倒敘排序 ['d', 'l', 'r', 'o', 'w', 'o', 'l', 'l', 'e', 'h']

從小到大排列

sort()方法可以將數字型別的進行從小到大的排列,一般也用於同型別的排列

li2 = [1, 5, 12, 8, 23, 10, 11, 500]

li2.sort()

print("對列表從小到達排序", li2)

對列表從小到達排序 [1, 5, 8, 10, 11, 12, 23, 500]

元組做為不可變型別,只能查和刪,如果需要其他操作需要轉換成列表

# 查,與列表相同,index返回下標和count計算元素出現的個數

a = (1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6)

# 使用index返回元素的下標值

print(a.index(3))

2也可以使用索引查詢對應的值

print(a[0])

1# 使用count返回元素出現的個數

print(a.count(6))

7

只能刪除整個元組,無法使用下標值,刪除後再使用會提示沒有定義變數

a = (1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6)

del (a)

print(a)

nameerror: name 'a' is not defined

元組只有查和刪的方法,如果需要修改應先轉成列表修改再轉回元組,但是不建議這麼做,因為修改過的元組就已經不是原來的那個元組了,而且設定元組也是為了這組資料不希望受到修改

以上就是關於列表&元組的方法了,有興趣的小夥伴可以自己嘗試一下。

如果有**錯誤或者不好的地方,還請各位大佬指出來,我會虛心接受並修改錯誤,謝謝!

python 基礎筆記 資料型別之序列(3)

列表 vs 元組 乙個經常會被問到的問題是,為什麼我們要區分元組和列表變數?這個問題也可以被表述為 我們真的需要兩個相似的序列型別嗎?乙個原因是在有些情況下,使用其中的一種型別要優於使用另一種型別。最好使用不可變型別變數的乙個情況是,如果你在維護一些敏感的資料,並且需要把這些資料傳遞給乙個並不了解的...

python 基礎筆記 資料型別之序列(0)

一 定義 成員是有序排列的,並且可以通過下標偏移量訪問到它的乙個或者幾個成員,這類 python 型別統稱為序列 sequence 序列 主要包括以下幾種型別 字串 str 和 unicode 列表 list 元組 tuple 二 序列相關的操作符 in 和 not in 成員關係操作符 用來判斷乙...

python的序列型別

本文摘自 流暢的python python 標準庫用 c 實現了豐富的序列型別,列舉如下。按照存放的資料型別的不同來分類 容器序列 list tuple和collections.deque,這些序列能存放不同型別的資料。扁平序列 str bytes bytearray memoryview和arra...