# result 是一个字典, 把里面属性值是None的属性删除 for key in result: if not result[key]: del result[key] continue 但是报错信息如下 RuntimeError: dictionary changed size during iteration # 字典在迭代的时候改变了字典大小 python 遍历一个dict.set类型的同时,并且在改变这个变量的长度或者一边遍历一边修改,这时候就会抛出这错误: 我查了一些资料之后, …
1. 错误方式 #这里初始化一个dict >>> d = {'a':1, 'b':0, 'c':1, 'd':0} #本意是遍历dict,发现元素的值是0的话,就删掉 >>> for k in d: ... if d[k] == 0: ... del(d[k]) ... Traceback (most recent call last): File "<stdin>", line 1, in <module> RuntimeE…
pythonn报错信息: C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Administrator/PycharmProjects/pythondemo/maptest.pyTraceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/pythondemo/maptest.py…
a = {':0} for b in list(a.keys()): if a[b] == 0: del a[b] print(a) 报错是因为在字典迭代期间改变字典大小 我们可以通过取出字典的键值,在转化为列表,这样在for循环期间就可以删除了…
依旧是续上篇解决为什么项目能运行,单独文件不能运行. 依旧是python3先发下目录结构,依旧是cmd运行,不要弄pycharm开始运行,否则有些错误就发现不了! 项目下面有pac1文件夹,pac1下面3个文件, 项目下面也有3个文件 __init__  c  run这三个文件. 只有k.py和run.py有内容,其余都是空的文件. k.py的内容,注意k是直接引用了c的,并不需要搞什么sys.path来apend才能引入c run.py的内容 ,上篇说了,这样运行run没事,会依次打印hell…
Python中想修改字符串的最后一个字符,使用name[-1] = 'e'来实现,运行后报错. 报错内容是:TypeError: 'str' object does not support item assignment 分析错误内容:不支持字符串的修改 总结:字符串一旦创建之后,里面的元素是不可以修改的.但是重新赋值是可以的,例如:name = 'xiaobai'.…
在写爬取页面a标签下href属性的时候,有这样一个问题,如果a标签下没有href这个属性则会报错,如下: 百度了有师傅用正则匹配的,方法感觉都不怎么好,查了BeautifulSoup的官方文档,发现一个不错的方法,如下图: 官方文档链接:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/ has_attr() 这个方法可以判断某标签是否存在某属性,如果存在则返回 True 解决办法: 为美观使用了匿名函数 soup_a = soup.find_a…
原文链接-https://github.com/taizilongxu/interview_python Python语言特性 1 Python的函数参数传递 2 Python中的元类(metaclass) 3 @staticmethod和@classmethod 4 类变量和实例变量 5 Python自省 6 字典推导式 7 Python中单下划线和双下划线 8 字符串格式化:%和.format 9 迭代器和生成器 10 *args and **kwargs 11 面向切面编程AOP和装饰器…
python采用的是引用变量的结构,也就说如果你对一个变量赋值,并不是给这个变量开辟了一块内存空间而是将一个对象的内存空间地址告诉了这个变量,这样做的好处是便于管理,节省内存空间,便于内存释放等等.但是在一些特殊情况下还是需要一个有自己内存空间的变量,这样操作起来和原变量互不干扰.那就要用到对象的复制了. 接下来看看变量的复制如何操作: 需求: 你想复制一个对象.因为在Python中,无论你把对象做为参数传递,做为函数返回值,都是引用传递的. 讨论: 标准库中的copy模块提供了两个方法来实现拷…
问题一:以下的代码的输出将是什么? 说出你的答案并解释. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Parent(object):     x = 1   class Child1(Parent):     pass   class Child2(Parent):     pass   print Parent.x, Child1.x, Child2.x Child1.x = 2 print Parent.x, Child1.x, Child2.x Paren…