python基礎三 -----基礎數據類型匯總補充
阿新 • • 發佈:2018-07-12
小問題 python fault 圖片 {} spl list 技術 pla
1. 一個小問題:
在循環的過程中刪除列表元素,會與預期結果不同,但不會報錯
lis =[11,22,33,44,55] for i in range(len(lis)): # 在第一次使用range()時,默認保存了值,在之後的循環值中這個值是固定死的了 print(i) del lis[i] print(lis) del lis[1::2] print(lis) for i in range(0, 2): print(i,type(i)) del lis[i] print(lis)View Code
對於字典dict : 在循環的過程中不能對字典鍵值對進行刪除,會報錯
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘a3‘:‘v3‘} for i in dic: if ‘k‘ in i: del dic[i]
正確做法1
dic1 = {} for i in dic: if ‘k‘ not in i: dic1.setdefault(i,dic[i]) dic = dic1 print(dic1)
正確做法2 : 把要刪除的放到列表裏,循環列表刪除
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘a3‘:‘v3‘} l = [] for i in dic: if ‘k‘ ini: l.append(i) for i in l: del dic[i] print(dic)
2. 元組問題 (面試題)
元組裏面只有一個元素且不加逗號,則元素是什麽類型,就是什麽類型
tu1 = (1) tu2 = (2,) print(tu1,type(tu1)) # 1 <class ‘int‘> print(tu2,type(tu2)) # (2,) <class ‘tuple‘> tu1 = ([1]) tu2 = ([1],) print(tu1,type(tu1)) # [1] <class ‘list‘>print(tu2,type(tu2)) # ([1],) <class ‘tuple‘>
python基礎三 -----基礎數據類型匯總補充