Python列表的增刪改查和元祖

2021-08-09 16:44:22 字數 3737 閱讀 8613

一、定義列表

1.names = ['mike','mark','candice','laular'] #定義列表

2.num_list = list(range(1,10)) #range生成1-10範圍內的數,並強制轉化成列表

#szz = ['ab','jhj','nhy']

#szz列印結果:['ab', 'jhj', 'nhy', 'msr']

2.insert()方法:在指定位置新增元素或者列表

#szz = ['ab','jhj','nhy']

#szz1 = ['msr','mike']

#szz.insert(0,'mark') #szz列印結果['mark', 'ab', 'jhj', 'nhy']

#szz.insert(0,szz1) #szz列印結果[['msr', 'mike'], 'ab', 'jhj', 'nhy']

三、刪:del、pop()、remove()、clear()

1.del:可以刪除指定下標的值

#del szz[1] #刪除下標為1的值

2.pop()方法: #預設從列表的末尾刪除,也可以刪除指定的值

#szz.pop() #預設刪除末尾的值

#szz.pop(1) #刪除下標為1的值

3.remove()方法:刪除指定的值

#szz =[['msr', 'mike'], 'ab', 'jhj', 'nhy']

#szz.remove('jhj') #在原list中的可以直接刪除

#szz[0].remove('mike') #在另乙個list裡的需要定位到list才能刪除,szz.remove('mike')這種方法是不能正確執行的,會報錯valueerror: list.remove(x): x not in list

4.clear()方法:清空資料

#szz.clear() #清空列表資料,如果有巢狀list也直接清空,無需定位到巢狀的list再清空

四、改:

1.通過定位到下標直接修改

#['mark', 'ab', 'jhj', 'nhy']

#szz[1] = 'zzj'

#print(szz) #列印結果:['mark', 'zzj', 'jhj', 'nhy']

五、查:查詢列表可通過下標和切片的方式

1.下標取值,從0開始

#names = ['mike','mark','candice','laular'] #定義列表

#print(names[2]) #讀取列表的值

#num_list = list(range(1,10)) #range生成乙個長度為10的列表

#print(num_list) #列印結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2.切片:顧頭不顧尾,且切片下標的操作同樣用於字串

#names = ['mike','mark','candice','laular']

#info = 'abcdefghijklmn'

#num_list = list(range(1,10))

#print(names[1:3]) #通過切片方式取值,切片是顧頭不顧尾,列印結果:['mark', 'candice']

#print(names[1:]) #取下標後面所有的值,列印結果:['mark', 'candice', 'laular']

#print(names[:3]) #取下標前面所有的值,列印結果:['mike', 'mark', 'candice']

#print(names[:]) #取所有的值,列印結果:['mike', 'mark', 'candice', 'laular']

#print(names[-1]) #取最後乙個值,列印結果:laular

#print(names[:1:2])#隔幾位取一次,預設不寫步長為1,即隔一位取一次;結果為取下標為1之前的值,隔2位取乙個['mike']

#print(num_list[::-1])#從後往前取值,步長為1,列印結果:['laular', 'candice', 'mark', 'mike']

#print(info[1:7]) #列印結果:bcdefg

六、列表其他方法:

1.index()方法:獲取指定元素的下標

#szz.index('jhj')

2.count()方法:獲取指定元素的次數

#szz.count('mike')

3.extend()方法:合併列表,修改原列表的值,只能合併到原列表的末尾

#szz = ['ab','jhj','nhy']

#szz1 = ['msr','mike']

#szz.extend(szz1) #列印結果:['ab', 'jhj', 'nhy', 'msr', 'mike']

4.sort()方法:進行排序,預設是公升序,想要降序排序需要加:reverse=true ,reverse返轉的意思

#sort本身只是乙個方法,沒有返回值,所以不能列印

#numbs = [12,425,334,32]

#numbs.sort()

#print numbs #列印結果:[12, 32, 334, 425]

#numbs.sort(reverse=true)

#print numbs #列印結果:[425, 334, 32, 12]

七、insert和extend的區別:

1.insert可以指定插入元素的位置,extend不能指定,只能合併到末尾

2.insert是在原列表的基礎上增加元素,什麼都可以加(列表、字串……),extend只能合併2個列表,對列表進行擴充套件,不能新增字串

八、元祖

1.元組的值,不能改變,是乙個不可便的列表,可以通過訪問下標和切片的方式查詢,但是想要修改必須先轉成list

#tup1 = ('physics', 'chemistry', 1997, 2000)  #定義元祖

#print tup1[1]   #列印結果:chemistry

#tup1[0] = 100   #這種修改方式是非法的

#tup2=list(tup1) #想要修改元祖,必須先將其轉換成list才可以

#print tup2      #列印結果:['physics', 'chemistry', 1997, 2000]

#tup2[2] = '1989'

#print tup2           #列印結果:['physics', 'chemistry', 1989, 2000]

2.元祖只有count和index方法

names = ('mike','mark','candice','laular','mark','msr')

print(names.count('mark')) #列印結果:2

print(names.index('msr')) #列印結果:5

Python列表的增刪改查

列表的增 li libai sushi dufu sushi 白居易 第一種 diaochan print li 第二種 insert 指定插入位置 將 詩人 這個元素插入第三個位置 li.insert 2,詩人 第三種 extend 迭代追加 li.extend abcd 將組成字串abcd的每個...

python 列表的增刪改查

列表 有序可變的,索引 作用 儲存資料的,支援很多種資料型別 定義方式 lst 1,alex true,a b 增 extend 迭代新增 insert 插入 insert 1,admin 盡量少用 刪def lst 刪除整個列表 def lst 0 2 切片刪除 def lst 0 5 2 步長刪...

python列表的增刪改查

定義個列表 a xiaobao aiaohao biaoliao ciaoqing eiaoli qibao 列表查詢 print a 3 列表是從0開始 print a 2 5 列印位置2到4的內容 print a 1 1 2 2是高階 此處是從位置為1開始加2遞增顯示,1 和為空 都是取到最後 ...