Python列表及元組操作


#列表(一組有序數據的組合就是列表)

#創建列表 #空列表
var = list()#var = []
print(var,type(var)) #具有多個元素的列表
var = ['','','風水'] print(var,type(var)) #基本操作
var = ['','','地火'] #訪問列表中的元素
print(var[-2]) #修改元素
var[1] = ''
print(var) #刪除元素
del var[1] print(var) #添加元素(不能加)

#序列操作
listvar1 = ['胡一菲','曾小賢','陸展博'] listvar2 = ['林宛瑜','陳美嘉','呂子喬','關谷神奇'] #相加
result = listvar1 + listvar2 print(result) #相乘操作
result = listvar1 * 2
print(result) #分片 #result = listvar2[:3] #result = listvar2[1:] #result = listvar2[1:3] #result = listvar2[:] #print(result)

#成員檢測
result = 'Lisa榮' in listvar2 print(result) result = 'Lisa榮' not in listvar2 print(result) #序列函數 #len() 檢測列表中元素的個數
var = ['張三','李四','王五','趙六'] result = len(var) print(result) #max() 獲取最大值
result = max([12,23,34,45,21,32,43,54]) print(result) #min() 獲取最小值
result = min([12,23,34,45,21,32,43,54]) print(result) #遍歷列表

#for...in
var = ['','','','','','',''] for i in var: print(i) #while遍歷
i = 0 while i < len(var): print(var[i]) i += 1

#多層列表的遍歷
var = [ ['小黑','black'], ['小白','white'], ['小彩','color'] ] #等長二級列表
for i,j in var: print(i,j) #等長或不等長列表都可以遍歷
for i in var: #print(i)
    for j in i: print(j) #列表推導式
var = ['段譽','虛竹','喬峰','木婉清','鍾靈兒'] #最基本的列表推導式
result = ['@'+i+'@' for i in var] print(result) #書寫列表1-10,使用列表推導式獲取當前列表中每個數字*3的列表
var = [1,2,3,4,5,6,7,8,9,10] result = [i * 3 for i in var] print(result) #帶有判斷條件的列表推導式
var = [1,2,3,4,5,6,7,8,9,10] result = [a for a in var if a % 2 == 0] print(result) #聲明一個多人名稱的列表,使用推導式獲取所有三個字人名
var = ['段譽','虛竹','喬峰','木婉清','鍾靈兒'] result = [n for n in var if len(n) == 3] print(result) #多循環列表推導式
sizes = [37,38,39,40,41] colors = ['yellow','cyan','pink','purple'] result = [str(s) +'-'+ c for s in sizes for c in colors] print(result) #男組4人,女組5人,互相見面一次
men = ['男1','男2','男3','男4'] women = ['女1','女2','女3','女4','女5'] result = [m +'-'+ w for m in men for w in women] print(result) #帶有判斷條件的多循環列表推導式
men = ['男1','男2','男3','男4'] women = ['女1','女2','女3','女4'] result = [m +'-'+ w for m in men for w in women if men.index(m) == women.index(w)] print(result) #append() 向列表的末尾添加元素 直接修改元列表
var = ['a','b','c','d'] print(var) var.append('e') print(var) #insert() 在列表的指定位置之前添加元素
var = ['a','b','c','d'] print(var) var.insert(2,'g') print(var) #pop() 刪除列表中指定位置的元素
var = ['a','b','c','d'] print(var) result = var.pop(0) print(var,result) #remove() 刪除列表中指定值的元素
var = ['a','b','c','d'] print(var) result = var.remove('c') print(var,result) #clear() 清空列表
var = ['a','b','c'] print(var,id(var)) var.clear() print(var,id(var)) #copy() 復制列表
var = ['a','b','c','d'] print(var,id(var)) newvar = var.copy() print(newvar,id(newvar)) #count() 計算列表中某個元素出現的次數
var = [2,3,4,3,4,5,6,7,8,5,4,6,7,8] result = var.count(5) print(result) #excend() 將一個列表合並到另外一個列表中
var1 = ['xs','dc','yyh','wzj'] var2 = ['dsn','lss','cyy','lrs'] var1.extend(var2) print(var1) #index() 獲取某個元素在列表中的索引
var = ['xs','dc','yyh','wzj'] result = var.index('dc') print(result) #reverse() 列表反轉操作
var = ['a','b','c','d'] print(var) var.reverse() print(var) #sort() 排序函數
var = [23,342,34,32,75,59] #默認排序 升序 #var.sort() #print(var)

#降序 #var.sort(reverse=True) #print(var)

#自定義排序規則 #奇偶數
def myfunc(num): result = num % 5
    return result var.sort(key=myfunc,reverse = True) print(var) a = [4,5,66,45,99] # 0 1 0 1 1
 # 1 0 1 0 0 #a.sort(key=ceshi,reverse=False)
a.sort(key = lambda x:x%2==0) #print(a)

def ceshi(x): return x%2 == 0 a.sort(key=ceshi) print(a) #sort 排序按照返回值來排 特點基於原來列表進行排序
''' > < >= <= != == true 1 false 0 True + 1 1+1 1 + 1.1 2.1 bool int float float() int() bool() '''

 

#元組(元組也是一組有序數據的組合,和列表唯一的不同是,元組不可修改) #創建單個元素的元組 #var = (13,)
var = 23, print(var,type(var)) #元組只能進行訪問操作
var = ('yy','bb','dlrb','glnz') print(var[1]) print(var[-2]) #元組的序列操作 # +
var1 = (1,3,5,7,9) var2 = (2,4,6,8,10) result = var1 + var2 print(result) #列表或者元組具有很多層
girls = ( ( ('小趙','小錢'), ('小李','小周') ), ( ('小吳','小鄭'), ('小王','小劉') ) ) #訪問多層元組中的內容
print(girls[1]) print(girls[1][1]) print(girls[1][1][0]) #元組推導式->生成器->不要則不給
var = (1,2,3,4,5,6,7,8,9) result = (i * 2 for i in var) print(result)#結果為生成器
for a in result: print(a)

 


免責聲明!

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



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