【Python】——字典

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

​​​​​​🥽Linux:​​​​Linux_Y小夜的博客-CSDN博客

🚝Rust:Rust_Y小夜的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯字典的 5 种创建方法

 🎯字典中元素访问方法

🎯向字典中“添加元素”

 🎯“删除”字典中元素

🎯序列解包:运用于字典(类似于赋值)


🎯字典的 5 种创建方法

  1. 使用大括号 {} 和键值对:最常见和简单的创建方法是使用大括号和键值对来创建字典。
    my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49}

  2. 使用 dict() 构造函数和键值对:你也可以使用 dict() 构造函数和键值对来创建字典。
    my_dict = dict(apple=2.99, banana=0.99, orange=1.49)

  3. 使用 zip() 函数和两个列表:你可以使用 zip() 函数和两个列表来创建字典,其中一个列表包含键,另一个列表包含相应的值。
    keys = ['apple', 'banana', 'orange'] 
    values = [2.99, 0.99, 1.49] 
    my_dict = dict(zip(keys, values))

  4. 使用推导式:你可以使用字典推导式从其他序列中创建字典。
    my_list = [('apple', 2.99), ('banana', 0.99), ('orange', 1.49)]my_dict = {k: v for k, v in my_list}

  5. 从其他字典复制:你可以从其他字典复制键值对来创建新的字典。
    old_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49} 
    new_dict = dict(old_dict)

 🎯字典中元素访问方法

  1. 使用键来访问值:你可以使用键来访问字典中的相应值。
    my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49} 
    price = my_dict['apple']print(price) # 输出:2.99
    

    请注意,如果使用不存在的键来访问字典中的值,将引发 KeyError 异常。为了避免这种情况,你可以使用 get() 方法。

  2. 使用 get() 方法来访问值get() 方法与使用键来访问值类似,但是如果使用不存在的键来访问字典中的值,它不会引发异常,而是返回指定的默认值(默认为 None)。
    my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49}price = my_dict.get('pear', 0) print(price) 
    # 输出:0

🎯向字典中“添加元素”

  • 使用赋值操作符:你可以使用赋值操作符将新的键值对添加到字典中。
my_dict = {'apple': 2.99, 'banana': 0.99}my_dict['orange'] = 1.49 print(my_dict)

输出:

{'apple': 2.99, 'banana': 0.99, 'orange': 1.49}
  • 使用 update() 方法:你可以使用 update() 方法将一个字典的键值对添加到另一个字典中。
my_dict = {'apple': 2.99, 'banana': 0.99} 
new_items = {'orange': 1.49, 'pear': 0.79} 
my_dict.update(new_items) 
print(my_dict)

输出:

{'apple': 2.99, 'banana': 0.99, 'orange': 1.49, 'pear': 0.79}
  • 使用字典推导式:你可以使用字典推导式来创建包含新键值对的字典,并将其添加到现有字典中。
my_dict = {'apple': 2.99, 'banana': 0.99} 
new_items = {key: value for key, value in [('orange', 1.49), ('pear', 0.79)]} my_dict.update(new_items)print(my_dict)

输出:

{'apple': 2.99, 'banana': 0.99, 'orange': 1.49, 'pear': 0.79}

 🎯“删除”字典中元素

  • 使用 del 关键字:你可以使用 del 关键字来删除指定键的键值对。
my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49} 
del my_dict['banana']print(my_dict)
  • 使用 pop() 方法:你可以使用 pop() 方法通过键来删除指定的键值对,并返回相应的值。
my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49}price = my_dict.pop('banana')print(price)# 输出:0.99 print(my_dict)
  • 使用 popitem() 方法:你可以使用 popitem() 方法随机删除一个键值对,并返回被删除的键值对。
my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49} 
deleted_item = my_dict.popitem() print(deleted_item)# 输出:('orange', 1.49) print(my_dict)
  • 使用 clear() 方法:你可以使用 clear() 方法清空字典,使其不包含任何元素。
my_dict = {'apple': 2.99, 'banana': 0.99, 'orange': 1.49} 
my_dict.clear()print(my_dict)# 输出:{}

🎯序列解包:运用于字典(类似于赋值)

序列解包(unpacking)可以应用于字典,允许你将字典中的键值对解包并赋值给变量。这样可以方便地访问字典中的键和值。

下面是一个简单的例子,演示了如何在字典上使用序列解包:

my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 将字典中的键值对解包并赋值给对应的变量 
name, age, city = my_dict['name'], my_dict['age'], my_dict['city'] print(name)# 输出:'Alice' print(age) # 输出:30 print(city) # 输出:'New York'

除了上述方法,你还可以使用字典对象的 items() 方法来进行序列解包:

my_dict = {'name': 'Bob', 'age': 25, 'city': 'Los Angeles'} 
# 使用 items() 方法进行序列解包for key, value in my_dict.items(): 
print(key, '=', value)

这将输出每个键值对的键和值。

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

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

相关文章

【python】一文读懂python函数

【python】一文读懂python函数 文章目录 【python】一文读懂python函数(一)简单入门理解函数(二)函数的基本结构:(三)函数的默认值(四)可变参数(五)基于字典的可变参数(**可变参数)(六)函数中变量的作用域(七)lambda函数(八) 过滤函数filter()在Python中,…

谷歌Gemini 1.5 Pro国内怎么用?国内镜像来了

长期以来,许多人向我咨询是否存在一个稳定而高效的全球AI大模型测试平台,这个平台需要不仅真实可靠,而且能够提供稳定和快速的服务,不会频繁出现故障或响应缓慢的问题。然而,当我发现了AskManyAI时,我被其所…

蛋白质治病突变的计算方法(三)

3 用于识别致病突变的特征 文献中使用了几种特征来识别蛋白质中的致病突变。它们大致分为三类:(1)序列,(2)结构和(3)网络,以及它们的组合。图1说明了这三组中的一些重要属性。 图1 用于识别致病突变和热点的重要特征。 基于氨基酸序列的特性…

go下载依赖时超时timeout

go下载依赖时超时timeout go: module k8s.io/component-base/logs: Get “https://proxy.golang.org/k8s.io/component-base/logs/v/list”: dial tcp 172.217.160.113:443: i/o timeout 解决办法如下,运行命令: go env -w GO111MODULEon go env -w GO…

李宏毅2022机器学习/深度学习 个人笔记(3)

本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点 本篇记录代码效果不佳时应该怎么做 如下图所示: 接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?可以通过多元函数的泰勒…

【大语言模型+Lora微调】10条对话微调Qwen-7B-Chat并进行推理 (聊天助手)

代码:https://github.com/QwenLM/Qwen/tree/main 国内源安装说明:https://modelscope.cn/models/qwen/Qwen-7B-Chat/summary 通义千问:https://tongyi.aliyun.com/qianwen 一、环境搭建 下载源码 git clone https://github.com/QwenLM/Qwen…

是用computed获取vuex数据后,修改数据页面不响应的问题

问题描述: 代码里使用computed获取mapGetters的数据后,直接在页面使用,在methods中更新数据后,控制台打印数据已经更改,但是页面上的数据没有同步更改和响应。 分析: 1.computed是计算属性,所有…

【Linux 进程间通信】管道(三)

文章目录 1.管道的五种特征2.管道的四种情况 1.管道的五种特征 ①🍎匿名管道只能用于有血缘关系的进程之间进行通信(爷孙进程之间可以进行通信),常用于父子之间进行通信; ②🍎管道内部,自带进…

【数据结构】时间复杂度的例题

🎁个人主页:我们的五年 🔍系列专栏:数据结构 🌷追光的人,终会万丈光芒 前言: 这篇文章是关于时间复杂度的一些例题,关于时间复杂度和空间复杂度和算法的计算效率的基本知识点我放在…

Linux之C编程入门

目录 第1关:第一个C程序 任务描述 相关知识 编译C程序 编程要求 答案及其步骤: 第2关:Linux编译C程序 任务描述 相关知识 gcc编译器使用方法 编程要求 答案及其步骤: 第3关:Linux之静态库编写 任务描述 相关知识 生成…

Leetcode 3122. Minimum Number of Operations to Satisfy Conditions

Leetcode 3122. Minimum Number of Operations to Satisfy Conditions 1. 解题思路2. 代码实现 题目链接:3122. Minimum Number of Operations to Satisfy Conditions 1. 解题思路 这一题就是一个动态规划的思路,我们只需要对每一列取0到9的情况各自进…

玩转云计算:教你在Akamai Linode上构建IT架构—确定需求

时至今日,选择以云计算方式来运维业务,已经成为大部分情况下的最优选。那么如果要从零开始开发一个新应用,并依托云平台来设计、开发、部害和远维,具体该从何处下手?这一系列文章将介绍如何基于Akamai Linode平台实现这…

Java最短路径问题知识点(含面试大厂题和源码)

最短路径问题是图论中的一个经典问题,它寻找图中两点之间的最短路径。这个问题在现实世界中有广泛的应用,比如导航系统中的路线规划、网络中的信息传输等。解决最短路径问题有多种算法,其中最著名的包括: 贝尔曼-福特算法&#xf…

【深度学习】Attention、Self-Attention、Multi-Head Attention

一、Attention 在CV领域,注意力机制通常分为通道注意力和空间注意力或者两者结合。 一张图像经backbone得到的特征通常包括多个通道,每个通道是一个像素矩阵,每个通道对任务的贡献不尽相同,单个通道的特征图中每个像素对任务的贡…

2W 3KVDC 隔离双输出 DC/DC 电源模块——TPD-2W 系列

TPD-2W系列提供双独立输出电压,并且两组电压可以不同,这样就节省一个电源模块,特别适合一块板上有多个不同电压要求的设计,而外形尺寸和TPA一样,工作温度范围广-40℃到 105℃。

K8s: 在Pod里面对容器进行配额管理和相关原理

Pod里面对容器进行配额管理 在生产环境中,内存占用通常很大,如果里面有死循环,会导致内存和cpu过大导致影响其他pod运行资源 需要让资源在受控的环境下运行,一般都是加上 resources limits 的配置才能达到最佳实践 默认cpu是0.5…

LabVIEW连接postgre sql

一、安装ODBC 下载对应postgreSQL版本的ODBC 下载网址:http://ftp.postgresql.org/pub/odbc/versions/msi/ 下载好后默认安装就行,这样在ODBC数据源中才能找到。 二、配置系统DSN 实现要新建好要用的数据库,这里的用户名:postg…

new[]与delete[]

(要理解之前关于new,delete的一些概念,看​​​​​​ CSDN) 引子: 相比new,new[]不仅仅是个数的增加,还有int大小记录空间的创建, 下图中错误的用模拟多个new来替代new[],释放步…

tcp网络编程(基础)

目录 一.编程前的一些基础 二.tcp网络编程 1.一个服务器只能有一个客户端连接(下面代码) Socket.hpp TcpServer.hpp TcpServerMain.cc TcpClientMain.cc 2.一个服务器可以有多个客户端连接(多线程) 看这篇文章前&#xff0c…

自定义注解+AOP实现日志记录

定义日志表结构 CREATE TABLE sys_oper_log (id bigint NOT NULL AUTO_INCREMENT COMMENT 日志主键,title varchar(50) DEFAULT COMMENT 模块标题,business_type varchar(20) DEFAULT 0 COMMENT 业务类型(0其它 1新增 2修改 3删除),method varchar(100…