下午看了Mr Seven的教学视频,其中有一段讲全局变量的视频,迭代输出全局变量的时候报错了。

视频中的做法:

for k,v in vars().items():print(k)

打印结果

    for k,v in vars().items():
RuntimeError: dictionary changed size during iteration

为什么会报错呢?

其实是因为在进行for循环的时候产生了两个新的全局变量k和v,也就是说循环开始后vars()中增加了两个新的键值对,for循环的next方法无法完成对两个新键值对的迭代,这时候就会报错。

有什么解决办法呢?

其实可以在for循环开始前先声明两个变量k = None,v =None,然后进行一次判断在输出

k =None
v =None
for k,v in vars().items():if v !='__cached__':print(k,' :  ',v)

这样结果就正常了:

__name__  :   __main__
__doc__  :   None
__package__  :   None
__loader__  :   <_frozen_importlib_external.SourceFileLoader object at 0x0000019939CCD198>
__spec__  :   None
__annotations__  :   {}
__builtins__  :   <module 'builtins' (built-in)>
__file__  :   E:/oldboy/myProject/20170922.py
__cached__  :   None

这里还有一个变量在缓存中存储的问题,留给大家自己研究去吧

转载于:https://www.cnblogs.com/zuoshoushizi/p/7576735.html

迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法...相关推荐

  1. Window10 内置Ubuntu安装后打开出现“指定的网络名不再可用”解决办法

    打开的时候若出现以下情况: 首先,检查下:开发者模式是否打开 然后打开:Hyper-V.虚拟机平台.安装完成后记得一定要重启电脑才可以! 重启电脑后打开,如下就说明成功了

  2. python干啥用_用python内置函数能干些什么?

    内置函数列表 说明:仅选用built-in function类型的独立内置函数,而非内置对象.__build_class__和__import__由于制表的时候未进行转义,所以表单中忽略了下划线. 例 ...

  3. 函数__内置函数(reversed,slice,format,ord,chr,ascii,repr)递归,迭代,二分法

    一.内置函数. 二.递归 三.二分法. 一.内置函数. 1)reversed()  反转.返回值是个迭代器,打出来需要用list()一下 huiwen = "不是上海自来水来自海上" ...

  4. python——常见内置函数、可迭代对象与迭代器对象

    目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...

  5. python中常用的内置函数,可迭代对象,迭代器对象

    知识点1 :常用内置函数 1 常用内置函数的实际应用 1.1 abs() 返回值是一个绝对值,参数可以是整数和浮点数,如果参数是一个复数,则返回它的模. print(abs(-12.3)) # 12. ...

  6. Python内置函数大全

    经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(9个) 反射操作(8个) 变量操作(2个) 交互操作(2个) 文件操作(1个) ...

  7. python内置函数教程_Python内置函数详解

    此文参考python文档,然后结合自己的理解,写下来,一方面方便自己,让自己好好学习,顺便回忆回忆:另一方面,让喜欢的盆友也参考一下. 经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算 ...

  8. python函数type的用意_Python内置函数Type()函数一个有趣的用法

    Python内置函数Type()函数一个有趣的用法 今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法. 以前只是知道type可以检测对象类型.然后发现了一个有趣的 ...

  9. python内置函数学习+截取字符串+字符串格式化符号+for循环

    https://www.runoob.com/python/python-built-in-functions.html python 字符串格式化符号:符 号 描述%c 格式化字符及其ASCII码% ...

最新文章

  1. 匿名块 块内实体的修改
  2. FPGA 核和FPGA Fabric的区别是什么?
  3. arduino nano 蓝牙_用Arduino玩转掌控板(ESP32):ESP32概述与Arduino软件准备
  4. C++ 宽字符(wchar_t)与窄字符(char)的转换
  5. iview table后端分页 多选 翻页选中回显
  6. Envi IDL中多元线性回归计算方法
  7. 《TCP/IP详解》学习笔记(七):广播和多播、IGMP协议
  8. SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统
  9. 一条语句复制整个目录《转》
  10. 苹果 5G 芯片“难产”!
  11. 第一百一十八天 how can I 坚持
  12. 1.ElementUI中table的sortable使用
  13. KVM命令行使用工具(virsh)详解。
  14. 制作多媒体网页html代码,Director制作多媒体网页
  15. echarts饼图选中一块_echarts圆饼图设置默认选中项并在中间显示文字
  16. windows切屏快捷键
  17. SSM大学生心理健康服务平台毕业设计-附源码071131
  18. Feign的工作原理
  19. 「硬刚Doris系列」Apache Doris的向量化和Roaring BitMap
  20. GBase 8c产品简介

热门文章

  1. 月薪没到30K的程序员必须要背的面试八股文,我先啃为敬。。。
  2. 说实话,DataGrip真得牛逼,只是你不会用而已~
  3. 一文带你领略并发编程的内功心法
  4. 神奇的 SQL,Group By 真扎心,原来是这样!
  5. 扛住 100 亿次请求?我们来试一试
  6. Datawhale团队第四期录取名单!
  7. 数据挖掘竞赛指南:曾经的数据挖掘少年,如今的阿里算法大佬
  8. 机器学习必知必会10大算法
  9. 何凯明团队又出新论文!北大、上交校友教你用ViT做迁移学习
  10. 继天元开源后,旷视又亮出“看家本领”:推出Brain++商业版