列表的增刪改查
一、列表的增
1、列表的增加append(在列表最後的位置添加元素):在元列表上進行增加。
a=[‘alix‘,‘wusir‘,‘xiaofang‘] a.append(‘laozi‘) print(a)
#結果 [‘alix‘,‘wusir‘,‘xiaofang‘,‘laozi‘]
a=[‘alix‘,‘wusir‘,‘xiaofang‘] while True: username=input(‘請輸入員工姓名:‘) if username.lower()==‘q‘: print(‘退出成功!‘) break else: a.append(username) print(a) # 請輸入員工姓名:ksdh # [‘alix‘, ‘wusir‘, ‘xiaofang‘, ‘ksdh‘] # 請輸入員工姓名:q # 退出成功!
2、lnsert插入,可以在任意位置插入元素。
insert(index,p_object)
a=[‘taibai‘,‘jinxin‘,‘wusir‘] a.insert(1,‘太亮‘) print(a) #結果 [‘taibai‘, ‘太亮‘, ‘jinxin‘, ‘wusir‘]
3、extend():叠代的添加,加入列表的最後
其中iterable(可叠代的)
a=[‘taibai‘,‘jinxin‘,‘wusir‘] a.extend(‘太亮‘) b=[‘taibai‘,‘太亮‘,‘wusir‘] b.extend([‘金星‘]) print(a) print(b) #[‘taibai‘, ‘jinxin‘, ‘wusir‘, ‘太‘, ‘亮‘] # [‘taibai‘, ‘太亮‘, ‘wusir‘, ‘金星‘]
如果extend()添加的是字符串,則字符串中的每個元素都會被拆分成單個的元素添加到目的列表中;
如果extend()添加的是列表,則該列表會被當做一個整體添加到目的列表中成為目的列表中的一個元素。
二、刪除
1、pop 按照索引去刪除,有返回值。
a=[‘taibai‘, ‘太亮‘, ‘wusir‘, ‘金星‘] name=a.pop(2) print(name) print(a) # wusir # [‘taibai‘, ‘太亮‘, ‘金星‘]
刪除的是a[2]=‘wusir’,返回值是wusir
2、remove() 按元素來刪除,但是沒有返回值
a=[‘taibai‘, ‘太亮‘, ‘wusir‘, ‘金星‘] name=a.remove(‘taibai‘) print(name) print(a) # None # [‘太亮‘, ‘wusir‘, ‘金星‘]
由於remove()沒有返回值,則輸出name時得到的是0。
3、clear() 清空列表,將列表變成空列表。
a=[‘taibai‘, ‘太亮‘, ‘wusir‘, ‘金星‘] a.clear() print(a) #[]
獨立為一條語句,列表在進行clear()操作之後返回的是一個空列表,列表還在。
4、del() 可以按照索引刪除;也可以按照切片刪除,可加步長。但是沒有返回值。
①可以按照索引刪除。
a=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] del a[3] print(a) # [‘alix‘, ‘taibai‘, ‘tailiang‘]
②可以按照切片刪除,也可以加步長。
b=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] del b[1:3] print(b) # [‘alix‘, ‘wusir‘]
三、修改列表
1、按照索引改:適用於修改單個元素的列表中。
a=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] a[3]=‘亮亮‘ print(a) #[‘alix‘, ‘taibai‘, ‘tailiang‘, ‘亮亮‘]
2、按照切片進行修改:先刪除,之後叠代著添加。
a=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] a[1:3]=‘都是一個人‘ print(a) #[‘alix‘, ‘都‘, ‘是‘, ‘一‘, ‘個‘, ‘人‘, ‘wusir‘]
該段代碼是將列表中的a[1],a[2]先刪除,之後將‘都是一個人‘從a[1]叠代著添加到列表a當中。
a=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] a[1:3]=[‘都是一個人‘] print(a) #[‘alix‘, ‘都是一個人‘, ‘wusir‘]
該段代碼是將a[1],a[2]現刪除,之後將列表[‘都是一個人‘]添加到a[1]的位置。
a=[‘alix‘,‘taibai‘,‘tailiang‘,‘wusir‘] a[1:3]=[‘都是一個人‘,‘性別都一樣‘,‘都是女的‘] print(a) #[‘alix‘, ‘都是一個人‘, ‘性別都一樣‘, ‘都是女的‘, ‘wusir‘]
四、查
a=[‘alix‘, ‘taibai‘, ‘tailiang‘,‘wusir‘] for i in a: print(i) # alix # taibai # tailiang # wusir
五、列表的嵌套:列表可以被更改,字符串不可以被更改。
列表的嵌套:
a=[‘alix‘, ‘taibai‘,[1,2,3,‘yanger,old‘], ‘tailiang‘,‘wusir‘] print(a[2]) print(a[2][2]) # [1, 2, 3, ‘yanger,old‘] # 3
將列表li的元素‘yuanhao‘的首字母變成大寫,由於字符串不能被更改就只能將‘yuanhao‘提出之後形成一個新的首字母為大寫的‘Yuanhao‘,之後再賦值給li[4]。
li=[1,2,3,‘taibai‘,‘yuanhao‘,[1,‘alix‘,3],True] print(li[3]) # taibai print(li[5][1]) # alix s=li[4].capitalize() li[4]=s
print(li) # [1, 2, 3, ‘taibai‘, ‘Yuanhao‘, [1, ‘alix‘, 3], True]
將li[4]中的‘yuanhao‘中的hao用‘日天‘來代替,由於‘yuanhao‘是字符串不能更改,所以只能是先提出li[4],之後形成一個新的字符串,將新的字符串賦值給li[4]。
li=[1,2,3,‘taibai‘,‘yuanhao‘,[1,‘alix‘,3],True] s2=li[4].replace(‘hao‘,‘日天‘) li[4]=s2 print(li) #[1, 2, 3, ‘taibai‘, ‘yuan日天‘, [1, ‘alix‘, 3], True]
對列表中的字符串進行‘修改‘和對列表中的元素進行修改。
li=[1,2,3,‘taibai‘,‘yuanhao‘,[1,‘alix‘,3],True]
s2=li[4].replace(‘hao‘,‘日天‘)
li[4]=s2
li[4]=li[4][0:4]+‘ritian‘
print(li) # [1, 2, 3, ‘taibai‘, ‘yuanritian‘, [1, ‘alix‘, 3], True]
li[5][0]=‘文傑‘
print(li) # [1, 2, 3, ‘taibai‘, ‘yuanritian‘, [‘文傑‘, ‘alix‘, 3], True]
li[5][1]=li[5][1].upper()
print(li) # [1, 2, 3, ‘taibai‘, ‘yuanritian‘, [‘文傑‘, ‘ALIX‘, 3], True]
其他方法:
1、計數 count()
li=[1,2,3,‘taibai‘,‘yuanhao‘,[1,‘alix‘,3],True] print(li.count(‘fsh‘)) # 0 print(li.count(1)) # 2
2、排序
正排序:sort()
a=[1,2,3,7,4,8,0,3,9] a.sort() print(a) #[0, 1, 2, 3, 3, 4, 7, 8, 9]
反轉:reverse() 不排序,只是將原有列表中的元素按照與原來順序相反的方式輸出。
a=[1,2,3,7,4,8,0,3,9] a.reverse() print(a) #[9, 3, 0, 8, 4, 7, 3, 2, 1]
例題:倒序排序
a=[1,2,3,7,4,8,0,3,9] a.sort() a.reverse() print(a) #[9, 8, 7, 4, 3, 3, 2, 1, 0]
也可以一步到位:
a=[1,2,3,7,4,8,0,3,9] a.sort(reverse=True) print(a) #[9, 8, 7, 4, 3, 3, 2, 1, 0]
元組 tupe():是不可變的,只能讀不能改。
列表的增刪改查