1.错误项
1 s=[11,22,33,44,55] 2 for i in range(len(s)): #只会进行一次,直接存储在内存中,直接调用。 3 print(i) # i=0 i=1 i=2 i=3 4 del s[i] 5 print(s) #[22,33,44,55] [22,44,55] [22,44] 此时就会报错!
2.第一种解法
1 s={"k1":"v1","k2":"v2","a3":"v3"} #此题要求将键值带k的删除。 2 s1={} #作为过度。 3 for i in s: 4 if "k" not in i: #如果键值里面不带k则: 5 s.setdefault(i,s[i]) #将符合条件的键值新建放入s字典中。此时i为变量,所以不需要像新建键值对时使用引号。 6 s=s1 #将符合条件的键值对重新赋值给原字典。此操作会完全覆盖原字典,不留任何痕迹。 7 print(s)