欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python遍历字典

程序员文章站 2022-04-29 18:41:57
1.遍历key值 同理,可把下列代码的d改为d.keys() notice:python2除了上述两种方法外,还可以写为d.iterkeys() 2.遍历value值 同理,可把下列代码的d改为d.values() notice:python2除了上述两种方法外,还可以写为d.itervalues( ......

1.遍历key值

Python遍历字典
1 >>> d = {'python':'astonishing', 'c++':'complicated', 'java':'versatile'}
2 >>> for key in d:
3 ...     print(key + ':' + d[key])
4 ...
5 python:astonishing
6 c++:complicated
7 java:versatile
Python遍历字典

同理,可把下列代码的d改为d.keys()

notice:python2除了上述两种方法外,还可以写为d.iterkeys()

 

2.遍历value值

1 >>> for value in d:
2 ...     print(value)
3 ...
4 python
5 c++
6 java

同理,可把下列代码的d改为d.values()

notice:python2除了上述两种方法外,还可以写为d.itervalues()

 

3.遍历字典

Python遍历字典
 1 >>> for kv in d.items():
 2 ...     print(kv)
 3 ...
 4 ('python', 'astonishing')
 5 ('c++', 'complicated')
 6 ('java', 'versatile')
 7 >>> for k, v in d.items():#开始偷懒,缩写k, v
 8 ...     print(k + ':' + v)
 9 ...
10 python:astonishing
11 c++:complicated
12 java:versatile
Python遍历字典

其实还有一种方法,用到了zip(元素对)使得我们可以像c/c++等语言一样循环两个变量

1 >>> for k, v in zip(d.keys(), d.values()):
2 ...     print(k + ':' + v)
3 ...
4 python:astonishing
5 c++:complicated
6 java:versatile

 关于zip的用法,详见python cookbook:https://python3-cookbook.readthedocs.io/zh_cn/latest/c04/p11_iterate_over_multiple_sequences_simultaneously.html