数据类型操作中的坑 循环删除

在使用for 循环过程中,有多个元素符合条件删除时:
  不可以在循环中直接对列表删除(会因后位元素的前移,导致索引改变,结果错误)
      循环中对字典进行删除则会直接报错
  所以再删除时尽量不要在循环中,可以创建一个新列表接收要删除元素
  然后循环新列表,用旧字典或列表的删除元素的方法(不是用索引的方法)
  把新列表遍历(要删除元素),旧列表.remove(元素),del 旧字典[删除键]
列表删除的方法
lis=[1,2,3,4,5,6,7,8,9] #删除其中的奇数 del_lis=[] for i in lis: if i%2==1: del_lis.append(i) #要删除元素加入新列表 print(del_lis) #>>>[1,3,5,7,9] for i in del_lis: print(i) #>>>1 3 5 7 9 lis.remove(i) #相当于 lis.remove[1].... print(lis) #输出删除后的列表
 1 #字典删除的方法
 2 dic = {'k1': 'del', 'k2': 'del', 's1': 'keep'}
 3 dic_del_list = []
 4 for k in dic:           #字典循环出来的是键
 5     if 'k' in k:
 6         dic_del_list.append(k) #把符合条件的键加入列表
 7 print(dic_del_list)     #>>>[k1,k2]
 8 for el in dic_del_list: #循环要删除的键的列表
 9     print(el)           #>>> k1  k2
10     del dic[el]         #相当于dic[k1]  dic[k2]
11 print(dic)              #输出删除后的字典
字符串内容类型判断:
.isdigit():判断str元素是否只有十进制整数组成(小数3.14,及叁,Ⅲ这类都不可以,但是可以检测bytes类型(b'3610'.isdigit()))
.isalpha():判断str元素是否只包含字母(中文也支持
)
.isalnum():判断str元素是否由数字,字母(包括中文)



转载于:https://www.cnblogs.com/OB19227/p/10704321.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值