11.python的字典dict(下) 遍历字典,结构优化

11.python的字典dict(下)

遍历所有的键值对

items()方法是字典的一个内置方法,用于返回字典中所有键值对的视图(view)。它返回一个可迭代的对象,每个元素都是一个包含键和对应值的元组。

下面用一个例子来说明items()方法的用法:

dict1 = {'name': 'John', 'age': 25, 'job': 'Engineer'}# 使用items()方法遍历键值对
for key, value in dict1.items():print(key, value)# 输出
# name John
# age 25
# job Engineer

在上述例子中,dict1.items()返回一个包含所有键值对的视图(view),即dict_items([('name', 'John'), ('age', 25), ('job', 'Engineer')])

然后,我们使用for循环遍历这个视图。在每次迭代中,(key, value)变量被赋予当前的键值对的键和值,然后我们可以打印它们。

通过使用items()方法,可以方便地同时获取字典中的键和对应的值,适用于需要同时访问键值对的情况,使代码更加简洁和可读。

遍历字典中所有的键

要遍历字典中的所有键,你可以使用以下方法:

dict1 = {'name': 'John', 'age': 25, 'job': 'Engineer'}# 使用for循环遍历字典中的键
for key in dict1:print(key)# 输出:
# name
# age
# job

在这个例子中,for循环用于遍历字典dict1中的键。在每次迭代中,key变量被赋值为当前键的值,然后我们可以打印它。

注意,遍历过程中不需要使用keys()方法,直接使用for循环遍历字典即可访问字典的键。这是因为在Python中,for循环默认会对可迭代对象进行迭代,并且在每次迭代中将当前元素(在这里就是键)赋给循环变量。

通过这种方式,你可以轻松地遍历字典中的所有键,并对其进行相应的操作。

遍历字典中所有的值

如果你只想获取字典中的所有值,你可以使用values()方法。

以下是一个示例代码:

dict1 = {'name': 'John', 'age': 25, 'job': 'Engineer'}# 使用values()方法获取所有的值
for value in dict1.values():print(value)# 输出:
# John
# 25
# Engineer

通过这种方式,你可以获取字典中的所有值,并进行相应的操作。

在这里插入图片描述

如何优化字典中的结构呢??嵌套

嵌套可以让字典没那么单调

要创建一个嵌套字典,你可以在字典中使用其他字典作为值。

以下是一个示例代码,展示了如何创建一个嵌套字典:

# 创建一个嵌套字典
dict1 = {'name': 'John','age': 25,'job': {'title': 'Engineer','company': 'ABC Inc.'}
}# 打印嵌套字典的值
print(dict1['name'])                           # 输出:John
print(dict1['age'])                            # 输出:25
print(dict1['job']['title'])                   # 输出:Engineer
print(dict1['job']['company'])                 # 输出:ABC Inc.

在上面的示例中,我们创建了一个嵌套字典dict1。它包含三个键值对,其中键job的值是另一个字典。

当访问嵌套字典的值时,可以使用多个索引运算符[]来连续访问嵌套字典中的键。例如,dict1['job']['title']将返回嵌套字典中键title的值'Engineer'

通过这种方式,你可以创建和访问嵌套字典的值。嵌套字典在许多情况下很有用,特别是当你需要组织和表示复杂的数据结构时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/302633.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 解决NestedScrollView与TabBar双列表滚动位置同步问题

文章目录 前言一、需要实现的效果如下二、flutter实现代码如下:总结 前言 最近写flutter项目,遇到NestedScrollView与TabBar双列表滚动位置同步问题,下面是解决方案,希望帮助到大家。 一、需要实现的效果如下 1、UI图&#xff1…

安全左移是什么,如何为网络安全建设及运营带来更多可能性

长久以来,网络安全技术产品和市场需求都聚焦于在“右侧”防护,即在各种系统、业务已经投入使用的网络环境外围或边界,检测进出的流量、行为等是不是存在风险,并对其进行管控或调整。 然而事实上,安全风险不仅是“跑”…

Jackson 各种注解使用示例

参考资料 Jackson使い方メモ 目录 一. JsonIgnore二. JsonIgnoreProperties三. JsonProperty3.1 作用于entity属性上,指定json对象属性名3.2 作用于entity方法上,指定json对象属性名 四. JsonFormat4.1 日期格式化4.2 数字格式化4.3 枚举类返回code 五.…

记录一次hss不能防护主机的问题

场景:hss的控制台显示不在防护中,其他云主机并没有这个情况。 故障发生的时间是昨天下午15点半左右,运维同事做了重启网卡的操作。service network restart 排查分析: 于是仔细的查看日志,发现报错如下&#xff1a…

MySQL-用户与权限管理:用户管理、权限管理、角色管理

用户与权限管理 用户与权限管理1.用户管理1.1 登录MySQL服务器1.2 创建用户1.3 修改用户1.4 删除用户1.5 设置当前用户密码1.6 修改其它用户密码 2. 权限管理2.1 权限列表2.2 授予权限的原则2.3 授予权限2.4 查看权限2.5 收回权限 访问控制连接核实阶段请求核实阶段 3. 角色管理…

iOS App Store审核要求与Flutter应用的兼容性分析

本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能…

扫描IP开放端口该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开

扫描IP开放端口该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开 #/bin/bash #该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开放来哪些端口 #用telnet方式 IP$1 #IP119.254.3.28 #获得IP的前…

基于遗传优化的SVD水印嵌入提取算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化的的SVD水印嵌入提取算法。对比遗传优化前后SVD水印提取性能,并分析不同干扰情况下水印提取效果。 2.测试软件版本以及运行结果展示 MA…

Set及其实现类与常用方法

1.Set及其常用实现类 Set接口是java.util.Collection接口的子接口.用来存储一个一个的数据.后面学习到的Map接口则用来存储key-value键值对. Set : 存储无序的,不可重复的数据|----->HashSet : 主要实现类 : 底层使用的是HashMap,即使用数组单向链表红黑树来存储。|-----&…

[C语言]——柔性数组

目录 一.柔性数组的特点 二.柔性数组的使用 三.柔性数组的优势 C99中,结构体中的最后⼀个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 typedef struct st_type //typedef可以不写 { int i;int a[0];//柔性数组成员 }type_a; 有些编译器会…

机器学习模型——K—Means算法

目录 无监督学习概念: 有监督学习与无监督学习: 无监督学习 - 聚类分析 : 聚类算法应用场景: 常用聚类算法介绍: 对不同的聚类算法应用选择原则: 基于原型聚类: K-Means聚类算法概念及步…

访问网站时你的电脑都做了什么

电脑在访问百度时 首先在本地hosts文件里面查看本地有无域名对应的IP地址,若有就直接返回。若无,则本地DNS服务器当DNS的客户,向其它根域服务器发送报文查询IP地址,简单来说就是帮助主机查找IP,所以递归查询就在客户端…

秋招复习笔记——八股文部分:操作系统

笔试得刷算法题,那面试就离不开八股文,所以特地对着小林coding的图解八股文系列记一下笔记。 这一篇笔记是图解系统的内容。 硬件结构 CPU执行程序 计算机基本结构为 5 个部分,分别是运算器、控制器、存储器、输入设备、输出设备&#xf…

Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo

概述 本文探讨 Wails 框架的使用,从搭建环境到开发,再到最终的构建打包,本项目源码 GitHub 地址:https://github.com/mazeyqian/go-run-wechat-demo 前言 Wails 是一个跨平台桌面应用开发框架,他允许开发者利用 Go …

5.网络编程-socker(golang版)

目录 一、什么是socket? 二、Golang中使用TCP TCP服务端 TCP客户端​​​​​​​ 三、TCP黏包,拆包 1.什么是粘包,拆包? 2.为什么UDP没有粘包,拆包? 3.粘包拆包发生场景 4.TCP黏包 黏包服务端 …

抖音变现项目有哪些?来这几个资源网站看看吧

做短视频就像是在做一道菜,你得有那么几个秘密武器,才能让你的作品从众多视频中脱颖而出。我这个视频剪辑界的“烹饪大师”,今天就来给大家分享一下我的厨房秘籍——那些让我视频大放异彩的素材网站。九才素材网: 说起九才素材网…

javaScript中原型链

一、原型链 js 的对象分为普通对象和函数对象。每个对象都有__proto__ 但是只有函数对象 (非箭头函数) 才有 prototype 属性。 new的过程: 1、创建一个空的简单 javaScript对象 2、将空对象的 __proto__连接到该函数的 prototype 3、将函数的this指向新创建的对象…

物联网网关

TopLink 是图扑物联专为针对工业物联网边缘侧应用场景打造的一款部署在本地近场环境、以高性能计算机为载体、与云端协同的一体化计算服务产品。具备工业协议解析、数据采集和转发、本地监控、本地场景联动等核心功能,具有跨平台、易使用等特点。 TopLink还默认适配…

小白水平理解面试经典题目1431. Kids With the Greatest Number of Candies【Array类】

个人专栏 🤺 leetcode 🧗 Leetcode Prime 🏇 Golang20天教程 🚴‍♂️ Java问题收集园地 🌴 成长感悟 欢迎大家观看,不执着于追求顶峰,只享受探索过程 1431. 拥有最多糖果的孩子 小白渣翻译 一…

qt样式表及qss文件的使用

三种设置样式表的方法: 1.使用ui文件,选中具体右键样式表输入即可 2.使用纯代码 mywidget::mywidget(QWidget *parent) : QWidget(parent) {this->setGeometry(100,100,500,500);this->setObjectName("mywidget");this->setStyleSh…