Python字典遍历方法及示例

Python字典遍历方法及示例Python字典是一种无序的key-value集合,其中每个元素由key和value组成。在很多场合下,需要遍历字典来获取字典中的数据。Python字典提供了多种遍历方法,可以满足不同需求。

一、Python字典遍历

Python字典是一种无序的key-value集合,其中每个元素由key和value组成。在很多场合下,需要遍历字典来获取字典中的数据。Python字典提供了多种遍历方法,可以满足不同需求。

最常见的遍历方法是使用for循环遍历字典的keys或values或items。


#遍历字典的key  
dict1 = {'name':'Lucy','age':18,'gender':'female'}
for key in dict1.keys():
    print(key)
    
#遍历字典的value
for value in dict1.values():
    print(value)
    
#遍历字典的item
for item in dict1.items():
    print(item)
    
#遍历字典的key-value
for key,value in dict1.items():
    print(key,value)

二、Python字典遍历输出

在Python中,控制台输出是调试时最为常见的输出方式。Python中可以使用print()函数输出字典,同时可以利用遍历字典的方法输出字典中的元素。


dict1 = {'name':'Lucy','age':18,'gender':'female'}

#输出字典的key  
for key in dict1.keys():
    print(key,end=" ")
print("\n")

#输出字典的value  
for value in dict1.values():
    print(value,end=" ")
print("\n")

#输出字典的item  
for key,value in dict1.items():
    print(key,":",value,end=" ")
print("\n")

三、Python字典编程例题

接下来,将通过一些Python字典编程例题来实践所学知识。

例题1:

现有一个字典,要求将字典的key和value反转输出。


dict1 = {'name':'Lucy','age':18,'gender':'female'}
dict2 = {}
#遍历dict1,将key-value反转存入dict2中
for key,value in dict1.items():
    dict2[value] = key
print(dict2)

例题2:

现有两个字典,要求将两个字典的key相同的value值相加得到新字典。


dict1 = {'name':'Lucy','age':18,'gender':'female','score':80}
dict2 = {'name':'Lucy','age':18,'gender':'female','score':90}

dict3 = {}
#遍历dict1和dict2,将key相同的value相加存入dict3中
for key in dict1.keys():
    if dict1[key] == dict2[key]:
        dict3[key] = dict1[key]
    else:
        dict3[key] = dict1[key] + dict2[key]
print(dict3)

例题3:

现有一个列表,每个元素都是一个字典,每个字典都包含一个键值对(其中key的值都相同)。要求将元素中key相同的value求和,并根据和的大小进行降序排序输出。


list1 = [{'name':'Lucy','score':80},{'name':'Tom','score':90},{'name':'Amy','score':75},{'name':'Bob','score':100}]
dict1 = {}
#遍历list1,将key相同的value求和存入dict1中
for item in list1:
    name = item['name']
    score = item['score']
    if name in dict1.keys():
        dict1[name] += score
    else:
        dict1[name] = score

#按value对dict1进行降序排序并输出
dict2 = dict(sorted(dict1.items(), key=lambda x: x[1],reverse=True))
print(dict2)

例题4:

现有一个字典,要求将字典中不同value的个数输出。


dict1 = {'name':'Lucy','age':18,'gender':'female','score':80,'weight':80}
set1 = set(dict1.values())
print(len(set1))

以上例题均可通过字典遍历的方式实现,同时也可以借助Python内置函数或者其他模块实现。需要掌握的是遍历字典的基本方法,对于需求的不同,可以采用不同的遍历方式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/21006.html

(0)
上一篇 2024-05-12
下一篇 2024-05-12

相关推荐

  • 百万级商品数据实时同步,查询结果秒出「终于解决」

    百万级商品数据实时同步,查询结果秒出「终于解决」前阵子老板安排了一个新任务,要建设一个商家商品搜索系统,能够为用户提供快速、准确的搜索能力,在用户输入搜索内容时,要能从商家名称和商品名称两个维度去搜索,搜索出来的结果,按照准确率排序,并按商家所属…

    2023-02-05
    142
  • MapReduce切片机制及执行流程[亲测有效]

    MapReduce切片机制及执行流程[亲测有效]MapReduce的切片机制 在Map阶段会将读取进来的数据进行逻辑切片进行处理。此切片与HDFS的切块不同,HDFS的切块是将文件按照block块的形式保存起来,mr则是将文件按照切片数进行计算默认

    2023-05-08
    138
  • 「Flink」使用Java lambda表达式实现Flink WordCount

    「Flink」使用Java lambda表达式实现Flink WordCount本篇我们将使用Java语言来实现Flink的单词统计。代码开发环境准备导入Flink 1.9 pom依赖<dependencies> <dependency> <grou

    2023-01-25
    140
  • 如何使用psql执行SQL文件

    如何使用psql执行SQL文件在编写代码之后,将它们与关系型数据库系统一起使用是一个常见的任务。为了创建表、插入数据或查询数据,我们需要一种方法来传递 SQL 语句以及作为代码一部分运行 SQL 查询的一些方法。

    2024-06-10
    48
  • mycat读写分离方案一

    mycat读写分离方案一1.什么是MYCAT 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 …

    2023-02-17
    135
  • Python函数:计算两个数的和

    Python函数:计算两个数的和函数是Python中非常重要的概念,通俗来说,函数就是一段可复用的代码块,它能接受输入参数,经过处理后返回输出结果。在Python中,要创建一个函数,需要使用关键字def,函数名称后面紧跟着一对小括号,括号中是函数的参数。函数的执行过程是先将参数传递给函数,然后执行函数内部的代码,最后返回结果。

    2023-12-13
    99
  • Python Tuts Definition: 学习如何在Python中创建和管理教程

    Python Tuts Definition: 学习如何在Python中创建和管理教程如今,Python已经成为了编程世界中最为热门的语言之一。Python的简单易学和强大的功能,使得它成为了许多编程初学者和专业人士的首选。刚开始学习Python,掌握Python的基本语法和操作是必不可少的。而学习一个新的编程语言时,最好的方式就是编写教程。Python Tuts定义了一系列教程,帮助用户学习如何在Python中创建和管理教程。

    2024-01-26
    102
  • 数据库学习之五:SELECT高级应用

    数据库学习之五:SELECT高级应用五、SELECT高级应用 1、课程大纲 2、开发环境 3、select语法环境 4、WHERE子句 • 基本语法 • WHERE条件又叫做过滤条件,它从FROM子句的中间结果中去掉所有 条件condi

    2023-02-24
    149

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注