標籤:int margin div 基礎 報錯 迴圈列表 固定 過程 有一個
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 = dic1print(dic1)
正確做法2 : 把要刪除的放到列表裡,迴圈列表刪除
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘a3‘:‘v3‘}l = []for i in dic: if ‘k‘ in i: 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基礎三 -----基礎資料類型匯總補充