Python字典遍历操作实例小结

yipeiwu_com6年前Python基础

本文实例讲述了Python字典遍历操作。分享给大家供大家参考,具体如下:

1 遍历键值对

可以使用一个 for 循环以及方法 items() 来遍历这个字典的键值对。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
for key, value in dict.items():
  print('key=' + key)
  print('value=' + value)

运行结果:

key=evaporation
value=蒸发
key=carpenter
value=木匠

key、value 这两个变量可以任意命名,比如下面的这个示例使用了 word 与 explain:

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
for word, explain in dict.items():
  print('word=' + word)
  print('explain=' + explain)

运行结果:

word=evaporation
explain=蒸发
word=carpenter
explain=木匠

良好的命名习惯,可以编写出让人更容易理解的代码。

2 遍历键

使用方法 keys() ,可以遍历字典中的键。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
for word in dict.keys():
  print(word.title())

运行结果:

Evaporation
Carpenter

因为遍历字典时, 会默认遍历所有的键。所以,我们可以省略方法 keys() 。

for word in dict:
  print(word.title())

运行结果与上一示例相同。

方法 keys() 还可以用在条件表达式中,用于判断 key 在字典中是否存在。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
print('carpenter' in dict)

运行结果:

True

3 按顺序遍历键

可以在 for 循环中对返回的键进行排序,可以使用 sorted() 函数。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
for word in sorted(dict):
  print('word:' + word)

运行结果:

word:carpenter
word:evaporation

4 遍历值

可使用 values() 方法来遍历字典的值。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠'}
for explain in dict.values():
  print('explain:' + explain)

运行结果:

explain:蒸发
explain:木匠

有时候需要返回不重复的值。这时,我们可以使用集合( set) 。 集合类似于列表, 但它所包含的每个元素,都必须是独一无二的。

dict = {'evaporation': '蒸发',
    'carpenter': '木匠',
    'millman': '木匠'}
print('【包含重复】' + str(dict.values()))
print('【剔除重复】' + str(set(dict.values())))

运行结果:

【包含重复】dict_values(['蒸发', '木匠', '木匠'])
【剔除重复】{'蒸发', '木匠'}

**注意:**字典的 values() 的字符串化与 set() 不同。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

跟老齐学Python之从格式化表达式到方法

现在我们就格式化方法做一个详细一点的交代。 基本的操作 所谓格式化方法,就是可以先建立一个输出字符串的模板,然后用format来填充模板的内容。 复制代码 代码如下: >>&...

对Django外键关系的描述

注:本文需要你有一定的数据库知识,本文的数据库语法使用mysql书写 Django中,跟外键有关的关系有三种,下面来一一介绍。 OneToManyField 这种最好理解,说白了就是最普...

django的ORM模型的实现原理

ORM模型介绍 随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了: SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现...

连接Python程序与MySQL的教程

MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同...

python基于event实现线程间通信控制

这篇文章主要介绍了python基于event实现线程间通信控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import thr...