循环遍历字典所有的键,怎样删除不符合要求的键值?

循环遍历字典所有的键,怎样删除不符合要求的键?就不能执行删除,字典中途改变了。

img

img

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7729631
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:虽然现在有可以去码的软件了,可视频是如何自动跟踪打码的?
  • 除此之外, 这篇博客: 有哪些网站用爬虫爬取能得到很有价值的数据?中的 一、数据来源 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 拉勾网20170519根据“数据产品经理”关键字可以搜索到的职位。由于拉勾只展示符合搜索条件的前450个职位,为了获得更多的数据,设定不同的筛选条件分别爬取汇总,然后清洗了下,最后只剩下456个职位,296家公司。

  • 您还可以看一下 刘长生老师的异构大数据平台,让多源异构数据融合贯通!课程中的 异构大数据平台,让多源异构数据融合贯通!小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    回答:

    可以使用字典的items()方法来循环遍历字典,并使用del语句来删除不符合要求的键。但是,在循环遍历字典时,要在新列表中记录需要删除的键,在循环结束后再统一删除字典中的键。这样可以保证程序的稳定性。

    具体代码如下:

    D = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
    to_delete = [] # 新建一个列表记录需要删除的键
    for k,v in D.items(): # 循环遍历字典
        if v < 3: # 不符合要求的键
            to_delete.append(k) # 将需要删除的键添加到列表中
    for k in to_delete: # 循环遍历需要删除的键
        del D[k] # 从字典中删除键
    print(D) # 输出删除后的字典
    

    输出结果为:

    {'c': 3, 'd': 4, 'e': 5}
    

字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的名字查找数据即可

可以製作一個暫時的 刪除表,做完全部的判定之後,根據表刪除。

在循环遍历字典时,如果删除本字典中的项,字典就变了,遍历受影响。可以使用字典的copy()方法创建字典的副本,然后遍历这个副本的key,再从原字典删除。删除使用del:del d[key]