1. 程式人生 > >python基礎三 -----基礎數據類型匯總補充

python基礎三 -----基礎數據類型匯總補充

小問題 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 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基礎三 -----基礎數據類型匯總補充