python字典的基本操作详解

news/2024/11/8 7:32:02/

Python字典是一种数据结构,它存储的是键值对(key-value pair)。在Python中,字典用于存储和组织数据,并且提供了快速查找和访问数据的方法。

以下是一些Python字典的基本操作:

创建字典:

# 创建一个空的字典
my_dict = {}# 创建一个包含键值对的字典
my_dict = {"key1": "value1","key2": "value2","key3": "value3"
}

添加键值对:

my_dict["key4"] = "value4"

获取值:

value = my_dict["key1"]

修改值:

my_dict["key1"] = "new value"

删除键值对:

del my_dict["key1"]

检查键是否在字典中:

if "key2" in my_dict:print("Key exists in dictionary")

获取字典的长度:

length = len(my_dict)

字典的遍历:

for key, value in my_dict.items():print(f"Key: {key}, Value: {value}")

字典的合并:

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {**dict1, **dict2}

字典的复制:

dict1 = {"a": 1, "b": 2}
dict2 = dict1.copy()

字典的排序:

dict1 = {"b": 2, "a": 1}
sorted_dict = dict(sorted(dict1.items()))

从字典中获取键值对:

items = dict1.items()

使用字典推导式创建字典:

nums = [1, 2, 3, 4, 5]
squares = {num: num**2 for num in nums}

清空字典:

dict1.clear()

使用get方法获取字典中的值,如果键不存在则返回默认值:

value = dict1.get("key", default_value)

字典中的键值对迭代:

dict1 = {"a": 1, "b": 2, "c": 3}
for key, value in dict1.items():print(f"Key: {key}, Value: {value}")

使用keys方法获取字典中的键:

keys = dict1.keys()
  1. 使用values方法获取字典中的值:
values = dict1.values()

使用items方法获取字典中的键值对:

items = dict1.items()

字典的嵌套:

dict1 = {"a": {"b": 1, "c": 2}, "d": {"e": 3, "f": 4}}

字典的递归:

def recursive_dict(dictionary, key):if isinstance(dictionary, dict):for k, v in dictionary.items():if k == key:return velif isinstance(v, dict):result = recursive_dict(v, key)if result is not None:return resultreturn None

字典中的键大小写转换:

dict1 = {"a": 1, "b": 2}
dict2 = {k.lower(): v for k, v in dict1.items()}

字典中的值大小写转换:

dict1 = {"a": "Hello", "b": "World"}
dict2 = {k: v.lower() for k, v in dict1.items()}

字典中的键值对反转:

dict1 = {"a": 1, "b": 2}
dict2 = {v: k for k, v in dict1.items()}

从列表中创建字典:

list1 = [("a", 1), ("b", 2), ("c", 3)]
dict1 = dict(list1)

从字典中提取键:

dict1 = {"a": 1, "b": 2, "c": 3}
keys = dict1.keys()

从字典中提取值:

dict1 = {"a": 1, "b": 2, "c": 3}
values = dict1.values()

字典中的键值对拆分:

dict1 = {"a": 1, "b": 2, "c": 3}
keys = [k for k in dict1]
values = [v for v in dict1.values()]

字典中的键值对合并:

keys = ["a", "b", "c"]
values = [1, 2, 3]
dict1 = dict(zip(keys, values))

字典中的值取最大值:

dict1 = {"a": 1, "b": 2, "c": 3}
max_value = max(dict1.values())

字典中的值取最小值:

dict1 = {"a": 1, "b": 2, "c": 3}
min_value = min(dict1.values())

字典的并集:

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {**dict1, **dict2}

http://www.ppmy.cn/news/1251749.html

相关文章

【Java SE】内部类

一、什么是内部类 内部类,顾名思义,就是在一个类的内部再定义一个类,这个类就叫做内部类。 比如,在class A中再定义一个class B,则B是A的内部类,A是B的外部类。 二、内部类分类 内部类可以分为以下四类…

Linux 命令pwd

命令作用 pwd是Linux中一个非常有用而又十分简单的命令,pwd是词组print working directory的首字母缩写,即打印工作目录;工作目录就是你当前所处于的那个目录。 pwd始终以绝对路径的方式打印工作目录,即从根目录(/&am…

高级IO select 多路转接实现思路

文章目录 select 函数fd_set 类型timeval 结构体select 函数的基本使用流程文件描述符就绪条件以select函数为中心实现多路转接的思路select 缺陷 select 函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); selec…

【代码随想录】算法训练计划37

贪心 1、738. 单调递增的数字 题目&#xff1a; 输入: n 10 输出: 9 思路&#xff1a; func monotoneIncreasingDigits(n int) int {// 贪心&#xff0c;利用字符数组s : strconv.Itoa(n)ss : []byte(s)leng : len(ss)if leng < 1 {return n}for i:leng-1; i>0; i-- …

Redis面试常见问题

Redis中的Lua脚本到底能不能保证原子性&#xff1f; Redis中Lua脚本的执行&#xff0c;可以保证并发编程中不可再拆分的这个原子性&#xff0c;但是没有保证数据库ACID中要么都执行要么都回滚的这个原子性。Lua脚本执行过程中命令产生错误&#xff0c;是不会回滚的&#xff0c…

基于51单片机超声波测距汽车避障系统

**单片机设计介绍&#xff0c; 基于51单片机超声波测距汽车避障系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的超声波测距汽车避障系统是一种用于帮助汽车避免碰撞和发生事故的设备&#xff0c;以下是一个基本…

【Linux小项目】实现自己的bash

0. bash原理介绍 bash实际上就是一个负责解析输入字符串工具. 我们需要做的事是这些: 手动分割出输入的字符串判断哪些变量是内建命令(自己执行),哪些命令是普通命令(创建子进程执行)实现的功能有: echo export cd 常规指令 输入、输出流重定向 #include<stdio.h> #i…

Pinia仓库统一管理

pinia独立维护 在src/stores文件夹下创建index.js文件&#xff0c;将main.js中关于pinia的语句放到index.js中 index.js文件内容&#xff1a; import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate const pinia createPi…