使用'for'循环迭代字典

.values

Python如何识别它只需要从中读取密钥   字典? 关键是Python中的一个特殊词吗? 或者只是一个   变量?

这不仅仅是.values循环。 这里重要的一词是“迭代”。

字典是键到值的映射:

d = {'x': 1, 'y': 2, 'z': 3}

每当我们迭代它时,我们迭代键。 变量名称.values仅用于描述 - 它非常适合此目的。

这发生在列表理解中:

>>> [k for k in d]

['x', 'y', 'z']

它发生在我们将字典传递给列表(或任何其他集合类型对象)时:

>>> list(d)

['x', 'y', 'z']

Python迭代的方式是,在需要的上下文中,它调用对象的.values方法(在本例中为字典),该方法返回迭代器(在本例中为keyiterator对象):

>>> d.__iter__()

我们不应该自己使用这些特殊方法,而是使用相应的内置函数来调用它,.values:

>>> key_iterator = iter(d)

>>> key_iterator

迭代器有一个.values方法 - 但我们用内置函数.items调用它:

>>> next(key_iterator)

'x'

>>> next(key_iterator)

'y'

>>> next(key_iterator)

'z'

>>> next(key_iterator)

Traceback (most recent call last):

File "", line 1, in

StopIteration

当迭代器耗尽时,它会引发.values.这就是Python知道退出.items循环,列表解析,生成器表达式或任何其他迭代上下文的方式。 一旦迭代器引发StopIteration它将始终引发它 - 如果你想再次迭代,你需要一个新的。

>>> list(key_iterator)

[]

>>> new_key_iterator = iter(d)

>>> list(new_key_iterator)

['x', 'y', 'z']

回到dicts

我们已经看到dicts在许多情况下迭代。 我们所看到的是,无论何时我们迭代一个字典,我们都得到了密钥。 回到原始示例:

.values

如果我们更改变量名称,我们仍然会获得密钥。 我们来试试吧:

>>> for each_key in d:

... print(each_key, '=>', d[each_key])

...

x => 1

y => 2

z => 3

如果我们想迭代这些值,我们需要使用.values的dicts方法,或者同时使用.items:

>>> list(d.values())

[1, 2, 3]

>>> list(d.items())

[('x', 1), ('y', 2), ('z', 3)]

在给出的示例中,迭代这样的项目会更有效:

for a_key, corresponding_value in d.items():

print(a_key, corresponding_value)

但是出于学术目的,问题的例子很好。

python循环输入字典_python - 使用'for'循环迭代字典相关推荐

  1. python中for循环和while循环的区别_Python中for循环和while循环有什么区别?

    for循环和while循环有什么区别?众做周知,循环是Python中最基础也是最常见的知识点之一,下面我们来一起好好学习一下for循环和while循环,并对比分析两者的使用区别,帮助Python初学者 ...

  2. python中for循环语句格式_Python基础-10循环语句

    Python Python开发 Python语言 Python基础-10循环语句 10.循环语句 对于循环语句,Python仅提供了while和for两个,并未像其他编程语言一样提供for...eac ...

  3. python 循环控制语句结束_Python控制语句.while循环语句

    Python控制语句三 2.while循环语句 例如:求1+2+3+--+9+10的累加和 用while语句则程序如下: s=0 x=1 while x<=10: s=s+x x=x+1 pri ...

  4. python循环定义变量_Python变量和循环

    1.Python变量 比C语言,Java语言更加简洁,不需要加int等等类型定义,直接变量名 = 值,Python里甚至不需要分号.有些特定的不能当做变量名,变量只能由字母.数字和下划线组成,下划线可 ...

  5. python循环语句格式_Python基础-10循环语句

    10.循环语句 对于循环语句,Python仅提供了while和for两个,并未像其他编程语言一样提供for...each/do...while/while...do等. 10.1 while循环 wh ...

  6. python中for循环和while循环的区别_Python中for循环语句和while循环语句有何不同

    原标题:Python中for循环语句和while循环语句有何不同 前面两期文章已经为大家分别讲解,for循环语句和while循环语句,两种都是化繁琐为简单的Python循环语句,选择困难症已经不知道该 ...

  7. python循环怎么结束_python如何结束循环

    python中的break语句和continue语句 break break是终止本次循环,比如你很多个while循环,你在其中一个while循环里写了一个break,满足条件,只会终止这个while ...

  8. python循环语句画图_Python基础之循环语句用法示例【for、while循环】

    本文实例讲述了Python基础之循环语句用法.分享给大家供大家参考,具体如下: while 循环 Python中while语句的一般形式: while 判断条件: statements 同样需要注意冒 ...

  9. python用户输入文字_python中用户输入的关键字

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python识别用户输入中的某些关键字,然后导出答案. 例如,用户输入 ther ...

最新文章

  1. 成都Uber优步司机奖励政策(1月7日)
  2. go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针...
  3. Oracle12c开启scott账户
  4. 直播 | 达观数据高级技术专家杨慧宇:金融数据结构化实践
  5. 将pcre、zlib等包编译进nginx里去(转)
  6. EntityFramework Core自动返回SQL语句
  7. CTD数据库(Comparative Toxicogenomics Database)介绍与使用
  8. 基于SpringBoot的个人博客系统【完整项目源码】
  9. at24c256读写linux,AT24C256写不进去
  10. sql server 数据库安装教程
  11. 国内比较优秀的.net论坛源代码收集
  12. 围棋JAVA判断胜负_下围棋,如何判定胜负?
  13. 如何用企业网站的访问统计数据助力线上推广 上海添力
  14. 优思学院|六西格玛DMAIC,傻傻搞不清?
  15. watch的使用方法
  16. android 深度自定义View
  17. 看PDF时点击书签页面变小的解决方法
  18. SAP中采购订单关于收货和发票三种不同控制情况的分析
  19. Python——魔方方法
  20. multisim二极管_变容二极管应用的Multisim仿真及分析

热门文章

  1. UML建模之时序图(Sequence Diagram)
  2. [SD2.0大会]王坚:Data–centric Computing
  3. PAT甲级1029 Median:[C++题解]贪心、二路归并
  4. matlab全景图像拼接_带你认识网络高清全景监控摄像机
  5. mac 更换默认蓝牙适配器_Win7连接低功耗蓝牙(BLE)鼠标
  6. 关卡 动画 蓝图 运行_上车喂,建模大神带你学UE4在编辑器启动时是如何运行蓝图的...
  7. pass在python中啥意思_python3中的pass是什么意思
  8. 文本编辑器实现打开帮助文件的功能
  9. Cortex-M3中的寄存器组
  10. SQLServer中数据库的创建