python基础三 -----基础数据类型汇总补充

it2022-05-22  57

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'>

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/arrow87/p/9298161.html


最新回复(0)