Python列表的增刪改查和元祖


 
        
一、定義列表
 
        
1.names = ['mike','mark','candice','laular'] #定義列表
 
        
2.num_list = list(range(1,10)) #range生成1-10范圍內的數,並強制轉化成列表
 
        
二、增:append()、insert()方法
 
        
1.append()方法:在末尾添加元素
 
        
#szz = ['ab','jhj','nhy']
 
        
#szz.append('msr')
 
        
#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
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
        
 
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM