Python学习4 列表基础知识和常用函数
列表
1.格式
2.增刪改查
列表下標(biāo):
0–n-1
-n-(-1)
題目:
【1:4:2】:[1,4),步長(zhǎng)為2
下標(biāo)從0開始
3.添加元素
x元組,可迭代對(duì)象
注意:可以直接使用+,連接兩個(gè)列表
a=[1,2] b=[5,6] c=a+b print(a,b,c,sep=' ',end='\n') #[1, 2] [5, 6] [1, 2, 5, 6]4.刪除元素
題目:
1)
remove(3):刪除3這個(gè)元素
2)
pop(4):刪除下標(biāo)4對(duì)應(yīng)的元素
從0開始
3)
del刪除下標(biāo)3到后面全部
下標(biāo)從0開始
5.修改元素
6.查詢?cè)?br /> (1)index查詢指定數(shù)據(jù)在列表里面的最小索引,如果沒有,會(huì)報(bào)錯(cuò)
(2)count查詢指定數(shù)據(jù)在列表中出現(xiàn)的次數(shù)
(3)in運(yùn)算符,查詢指定函數(shù)是否在列表中,返回布爾數(shù)據(jù)
#查詢?cè)?/span> #(1)index查詢指定數(shù)據(jù)在列表里面的最小索引,如果沒有,會(huì)報(bào)錯(cuò)# (2)count查詢指定數(shù)據(jù)在列表中出現(xiàn)的次數(shù) # # (3)in運(yùn)算符,查詢指定函數(shù)是否在列表中,返回布爾數(shù)據(jù)name = ['小陳','小紅','小王','老王','老陳','小劉','小風(fēng)','小剛','小趙'] print(name.index('小王')) print(name.count('小王')) print('趙日天' in name) #輸出 # 2 # 1 # Falselist的地址傳遞
#地址傳遞 num1=[0,0,100] num2=num1 num1[1]=88 print(num2) #輸出 #[0, 88, 100]使用內(nèi)置函數(shù) id() 可以獲取到一個(gè)變量的內(nèi)存地址
代碼:
list的遍歷
#列表遍歷for list=['小陳','小紅','小王','老王','老陳','小劉','小風(fēng)','小剛','小趙'] for i in list:print(i)# 列表遍歷while i=0 while i<len(list):print(list[i])i+=1list的排序
使用 list.sort() 會(huì)將 list 進(jìn)行升序排序,返回 NoneType ,影響 list 本身【小-大】
使用 sorted(list) 會(huì)將 list 進(jìn)行升序排序,返回 list ,不影響 list 本身【小-大】
翻轉(zhuǎn):reserve
#list翻轉(zhuǎn) list = ['2341', '962', '67', '34567'] print(list) list.reverse() print(list)編程實(shí)現(xiàn)冒泡排序算法,實(shí)現(xiàn)對(duì)[6, 5, 3, 1, 8, 7, 2, 4]的排序。
思想:讓一個(gè)數(shù)字和它相鄰的下一個(gè)數(shù)字進(jìn)行比較運(yùn)算,如果前一個(gè)數(shù)字大于后一個(gè)數(shù)字,則交換兩個(gè)數(shù)據(jù)的位置。
去除列表重復(fù)元素
1、使用set函數(shù)
set是定義集合的,無序,非重復(fù)
2、先把list重新排序,然后從list的最后開始掃描
a = [1, 2, 4, 2, 4, 5,] a.sort() last = a[-1] for i in range(len(a) - 2, -1, -1):if last == a[i]:del a[i]else:last = a[i] print(a) #[1, 2, 4, 5]3、使用字典函數(shù)
a=[1,2,4,2,4,]b={}b=b.fromkeys(a)c=list(b.keys())print(c) #[1, 2, 4]4、append方式
def delList(L):L1 = []for i in L:if i not in L1:L1.append(i)return L1 print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]5、count + remove方式
def delList(L):for i in L:if L.count(i) != 1:for x in range((L.count(i) - 1)):L.remove(i)return L print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]列表的嵌套
random.randint(a,b):[a,b]
列表推導(dǎo)式
range(n):[0,n-1]
列表的復(fù)制
淺拷貝是在另一塊地址中創(chuàng)建一個(gè)新的變量或容器,但是容器內(nèi)的元素的地址均是源對(duì)象的元素的地址的拷貝。也就是說新的容器中指向了舊的元素( 新瓶裝舊酒 )。
深拷貝,完全拷貝了一個(gè)副本,容器內(nèi)部元素地址都不一樣
淺拷貝:a=b
copy(list)
copy.copy(list)
深拷貝:
copy.deepcopy(list)
題目:
淺拷貝,地址空間指向一樣
列表和字符串的互相轉(zhuǎn)換
同時(shí)輸出列表和字符串
1.字符串>列表:split()a = 'my first python'b = a.split(" ")print(b) 輸出:2.列表>字符串:join()a = ['my', 'first', 'python']b = ' '.join(a)print(b) 輸出:示例:
def __str__(self):#print('style=' + self.style + '\t' + 'allSzie=' + str(self.allSzie) + '\t' + 'restSize=' + str(self.restSize)+'\t'+str(self.furnituresList) + '\n')#return 'style=' + self.style + '\t' + 'allSzie=' + str(self.allSzie) + '\t' + 'restSize=' + str(self.restSize)+'\t'+str(self.furnituresList) + '\n'return 'style=' + self.style + '\t' + 'allSzie=' + str(self.allSzie) + '\t' + 'restSize=' + str(self.restSize)+'\t'+' '.join(self.furnituresList) + '\n'練習(xí)1-求列表中最大值及下標(biāo)
#求列表中最大值及下標(biāo)-sorted list=[1,345,32435,78,324,7685] list2=sorted(list) print(('最大值=%d 下標(biāo)=%d')%(list2[len(list2)-1],list.index(list2[len(list2)-1]))) #求列表中最大值及下標(biāo)-for list = [1, 345, 32435, 78, 324, 7685] max = index = 0 for i in list:max=max if max >i else iindex=list.index(max) print(('最大值=%d 下標(biāo)=%d')%(max,index))練習(xí)2-移除列表空字符串
#移除列表空字符串remove()-每次只移除一個(gè) list = ['小陳', '小紅', '', '小王', "", '老王', '老陳', "", '小劉', '小風(fēng)', '小剛', '小趙'] print(list) for i in list:if i=='':list.remove('') print(list)練習(xí)3-計(jì)算 chars 列表中每個(gè)字符出現(xiàn)的次數(shù)
#1 #計(jì)算 chars 列表中每個(gè)字符出現(xiàn)的次數(shù)。chars = ['a', 'c', 'x', 'd', 'p', 'a', 'm', 'q', 's', 't', 'a', 'c'] chars = ['a', 'c', 'x', 'd', 'p', 'a', 'm', 'q', 's', 't', 'a', 'c'] list = [] for i in chars:check = i + "=" + str(chars.count(i))if (check in list) == False:list.append(check) print(list)總結(jié)
以上是生活随笔為你收集整理的Python学习4 列表基础知识和常用函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 室内水电安装(水电安装这些问题要知道)
- 下一篇: 百闻不如一见什么意思(百闻不如一见的道理