# -*- coding: utf-8 -*-

"""

Created on Tue Apr 3 17:21:10 2018

@author: Lelouch_C.C

"""

#注意:下面几个列子不要一起运行,单独运行会出现正常结果

a={'a':0,'b':2}

for k in a:

if a[k] < 1:

a[k]=1

print(a)

"""

输出:{'a': 1, 'b': 2}

"""

for k in a:

if a[k] < 1:

del(a[k])

print(a)

"""

输出:RuntimeError: dictionary changed size during iteration

"""

"""

#第一例,字典的值被替换,字典的长度没有发生变化,因此迭代可以继续进行

#第二例,因为在迭代过程中值为0的键值对是要被删除的,删除后字典的长度发生改变了,因此再进行迭代会出错

#通过上述例子,可以看出,字典在迭代过程中,字典的长度是不允许改变的

#如何让字典改变后还可以输出?

#有一种改变办法是:让list()函数作用于字典a.由于元组是不可变的,所以不用tuple().

#list()函数作用于字典后,会将字典的键放在一个列表里,列表可以被修改,且修改后可以进行迭代。

"""

for k in list(a):

if a[k] < 1:

del (a[k])

print(a)

"""

输出:{'b': 2}

"""

#为什么3个一起运行会都输出输出:{'a': 1, 'b': 2}

#这是因为第一个例子运行完已经将字典a变为{'a': 1, 'b': 2},

#后面两个例子的if判断已经删除不了键值对

python字典长度可变吗_关于在Python3中:字典在迭代过程中,字典的长度是不允许改变的...相关推荐

  1. python象棋棋盘麦粒问题_从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题...

    <从零开始PYTHON3>第五讲 ​上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好.在这个过程中,利用字符串给出充分.完整.准确的提示是非常重 ...

  2. python字典长度可变吗_[python] 根据字典中的信息生成列表,每次都会额外变长。...

    需求 key_counts中保存了key和value.生成一个列表,根据value的数字,生成value个key. 问题 发现每循环一次,生成的新列表末尾就会多一个空值. 代码 key_counts ...

  3. python什么是可变参数_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  4. python哪些是可变对象_什么是Python可变对象和不可变对象

    什么是Python可变对象和不可变对象 发布时间:2020-07-22 09:59:15 来源:亿速云 阅读:60 作者:Leah 这篇文章运用简单易懂的例子给大家介绍什么是Python可变对象和不可 ...

  5. python默认参数 可变对象_当心Python函数可变默认参数(list,set,dict…)的陷阱

    绝大多数情况下,Python是一个干净具有一致性的语言.然而,有些少数情况会让初学者感到困惑.其中有些情况是有意识的但会成为潜在的莫名其妙,而有些可以说是语言赘肉.下面我们看看使用可变默认参数(Mut ...

  6. python默认参数 可变对象_最小经验原则(POLA)与可变默认参数

    题目 任何长时间学习Python的人都会遇到下面的问题. def foo(a=[]): a.append(5) return a Python初学者期望这个函数总是会返回一个只包含一个元素的列表:[5 ...

  7. python输出多行对齐_如何用python3输出print对齐?

    python中的函数相信大家都不陌生,提起print很多人都要举手回答,说我知道!这个函数也是比较常见的,所以小编想给大家多补充一点新的知识.内容不是很多,也算是偏基础类的知识,需要大家牢固掌握这个知 ...

  8. python类构造方法缺省_浅谈python3 构造函数和析构函数

    要点: 1.魔法方法,被__双下划线所包围 在适当的时候自动被调用 2.在创建一个对象的时候,一定会调用构造函数 3. del析构函数,在del a对象的时候,并一定会调用该析构函数 只有当该对象的引 ...

  9. python爬关键词百度指数_详解python3百度指数抓取实例

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

最新文章

  1. git保姆级入门(包含解决git仓库报错500的问题)
  2. 拥抱人工智能报告:中国未来就业的挑战与应对
  3. iOS中引用计数内存管理机制分析
  4. IT人士在职场中需要哪些Skill?
  5. 【Linux】8.安装tensorrt和遇到的问题及解决方法
  6. python精要(72)-VMDK操作(2)
  7. P5170 【模板】类欧几里得算法
  8. Vue 生命周期LIFECYCLE是8个吗?
  9. python numpy array中维度的区别 array.shape
  10. js根据数组中对象的多个属性值进行排序
  11. 【学习资源】免费资源网站,仅供学习参考
  12. NOI题库练习1.4(08)
  13. 2018-03-28-日剂
  14. html5 页面刷新的代码,js刷新当前页面的代码
  15. mysql lob字段_数据库的LOB大字段的一些总结
  16. 4月9日京东考试感想
  17. 大学生python实验心得体会_大学生实训心得体会3篇
  18. Deepin 微信版本太低无法登录
  19. Oracle表空间(tablespaces)
  20. 无线广告屏]无线模块

热门文章

  1. 【总结】 Lucas定理
  2. 某些服务在未由其他服务或程序使用时将自动停止
  3. linux 配置apache的虚拟主机
  4. iOS中Runtime简析
  5. hdu 3631 Shortest Path(Floyd)
  6. 【同行说技术】Java程序员小白变大神必读资料汇总(三)
  7. 所有的胜利,与征服自己的胜利比起来,都是微不足道。
  8. python封装exe后其机器能用么_python打包成exe格式后,在部分机子上没法运行
  9. JavaScript之DOM对象(Event事件)
  10. Python之数据分析(规范数据生成器Faker,学习、数据分析、开发测试专用)