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...