python list,tuple,set,dict相關操作
阿新 • • 發佈:2018-12-16
# -*- coding: utf-8 -*- """ Created on Thu Oct 18 10:30:51 2018 @author: admin """ #list操作 d=[i for i in range(10)] print(d) #新增元素 d.append('x') t=[493,'zgl','csu',98] d.extend(t) print(d) d.insert(2,'zkdk') print(d) #刪除元素 del(d[1]) print(d) k=d.pop(2) print(d) print(k) d.remove('zgl') print(d) print(d[7]," ",d[-2]) print(len(d)) #遍歷list for k in d: print(k,end=" , ") print("") ############################################ #tuple操作 ,無法新增和刪除元素,只能轉換為list ,然後再轉換為tuple tt=tuple(i for i in range(10) if i%2==0) print(tt) print(type(tt)) print(tt[2]) tl=list(tt) print(tl) print(type(tl)) for i in tt: print(i,end=" . ") print("") ########################################### #dict操作 dd=dict(name='zgl',age=26,score=97) print(type(dd)) for k,v in dd.items(): #遍歷元素 print(k,"-->",v) dd['school']='csu' # 新增元素 for k in dd.keys(): print(k,"-->",dd[k]) del(dd['age']) #刪除元素 dd['score']=100 #修改元素 for k in dd.keys(): print(k,"-->",dd[k]) print('age' in dd) #判斷摸個元素是否存在 print(len(dd)) ############################################# #set操作 d1=set(i for i in range(10)) d2=set(i for i in range(20) if i%3==0) print(d1) print(d2) print(d1|d2) #並 print(d1&d2) #交 print(d1^d2) #對稱差集,兩個set元素不一樣 print(d1-d2) #差 print(d1>=d2) #包含關係 d1.add('zld') #新增元素 print(d1) d1.update(['csu',394]) # 新增元素 print(d1) d1.remove('zld') #刪除元素 print(d1) print('zld' in d1) #某個元素是否存在 print(8 in d1) print(len(d1)) for k in d1: print(k,end=",") print("") ########################################## #切片操作 ll=list(i for i in range(20) if i%2==0) print(ll) for i in range(0,len(ll),2): print(ll[i],end=" . ") print() print(ll[2:6:1]) print(ll[::-1]) ######################################### #生成器 ()代替[] ,不必建立完整的list,節省大量的空間 def fib(limit): n,a,b=1,1,1 while n<=limit: yield a a,b=b,a+b n+=1 f=fib(10) print(next(f)) print(next(f)) ff=fib(10) for i in ff: print(i,end=" ,") ### list, dict,str 是可迭代物件(Iterable),但是不是Iterator(可以給next()函式 # 呼叫,並不斷返回下一個值的物件。