Python字典(dict)详解

一.字典(dict)的概念:

Python字典是另一种可变容器模型,可存储任意类型对象。如字符串、数字、元组等其他容器模型 因为字典是无序的所以不支持索引和切片。

二.字典(dict)的定义:

1.一般格式:

格式: 字典名={元素1,元素2,...} 元素以键值对存在==key(键值):value(实值)

2.空字典:

格式: 字典名={} 或者 字典名=dict()

3.举例:

python 复制代码
dict = {"nane": "张三", "age": 20, "sex": "男"}
dict1={}
dict2={}
print(dict)
print(dict1)
print(dict2)

结果:

注意:

  • key不可以重复,否则只会保留第一个;
  • value值可以重复;
  • key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一;
  • key一般形式为字符串。

三.字典(dict)的一些基本操作:

1.增:

格式: 字典名[new key]=new value

python 复制代码
# 定义一个字典
dict = {"nane": "张三", "age": 20, "sex": "男"}
# 增加元素
dict["score"] = 100
print(dict)

2.删:

格式:del 字典名[key]

python 复制代码
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#删除元素
del dict["name"]
print(dict)

3.查:

格式: value=字典名[key]

python 复制代码
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#查找元素
value=dict["sex"]
print(value)

4.改:

格式: 字典名[key]=new value

python 复制代码
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#修改元素
dict["name"]="李四"
print(dict)

注意:也可以使用clear()去进行清空字典

python 复制代码
#清空字典
dict.clear()
print(dict)

四.字典(dict)的常见操作:

名称 解释
len() 测量字典中键值对个数
keys() 返回字典中所有的key
values() 返回包含value的列表
items() 返回包含(键值,实值)元组的列表
in \ not in 判断key是否存在字典中
举例说明:
python 复制代码
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}

#常见操作
#len():测量字典中的键值对
print(len(dict))
#keys():返回所有的key
print(dict.keys())
#values():返回包含value的列表
print(dict.values())
#items():返回包含(键值,实值)元组的列表
print(dict.items())
#in  not in
if 20 in dict.values():
    print("我是年龄")
if "李四" not in dict.values():
    print("李四不存在")

五.字典三种取值方式:

1.value=字典名key:

这种是比较简单的方式,通过key值进行取值:

python 复制代码
#字典的定义
my_dict={"name":"小红","age":20,"sex":"女"}

#1.value=字典名[key]
print(my_dict["age"])

2.setdefault:

  • 格式:字典名.setdefault(k,value)
  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在.返回None,并且把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value;
python 复制代码
#字典的定义
my_dict={"name":"小红","age":20,"sex":"女"}

#2.setdefault:  格式:字典名.setdefault(k,default)
#如果key存在返回对应的value
print(my_dict.setdefault("name"))
print(my_dict.setdefault("name","111"))
print(my_dict)
#如果key不存在,返回None,并且将设置的加入字典中
print(my_dict.setdefault("name1"))
print(my_dict.setdefault("name1","555"))
print(my_dict)

3.get:

  • 格式:字典名.get(k,value)
  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在.返回None,但是不会把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value;
python 复制代码
#字典的定义
my_dict={"name":"小红","age":20,"sex":"女"}

#3.get:   格式:字典名.get(k,default)
#如果key存在返回对应的value
print(my_dict.get("name"))
print(my_dict.get("name","李四"))
#如果key不存在,返回None,设置的不加入字典中
print(my_dict.get("name2"))
print(my_dict.get("name2","王五"))
print(my_dict)

以上3部分程序运行结果:

六.字典的遍历:

1.key:

python 复制代码
#1.key
for i in my_dict.keys():
    print(i)

2.value:

python 复制代码
#2.value
for i in my_dict.values():
    print(i)

3.item:

python 复制代码
#3.所有项(元素)  item
for i in my_dict.items():
    print(i)

4.依次打印key和value:

python 复制代码
#4.依次打印key和value,通过索引
for key,value in my_dict.items():
    print(key,value)

5.元素值和对应的下标索引(enumerate()):

python 复制代码
#5.元素值和对应的下标索引  enumerate(列表名)
for i in enumerate(my_dict):
    print(i)

运行结果:


关于字典的介绍,以后有新知识了会补充,有建议的小伙伴欢迎提出...

相关推荐
聪明的一休丶10 小时前
VLLM v0.24.0 版本深度解析:新引擎、新架构与大规模服务全家桶升级
python·架构·vllm
万亿少女的梦16812 小时前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue
闲猫13 小时前
Python FastAPI + SQLAlchemy 入门教程:从零搭建你的第一个 Web 应用
前端·python·fastapi
北极星日淘16 小时前
中古货品品相评级算法实战|Java权重计分实现标准化五级品相体系
开发语言·python
hangyuekejiGEO16 小时前
临沂GEO服务企业技术选型分析
人工智能·python
闲猫18 小时前
Python 虚拟环境 virtualenv & uvicorn 服务搭建 & FAstAPI 使用
开发语言·python
AI视觉网奇18 小时前
vllm 多卡部署
python
精明的身影18 小时前
网络计划WebApp求解:融合Python与AI决策的项目管理系统
网络·python·web app
AI科技星18 小时前
全域谱分析:无穷维超复数信息场分形统一场论——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·python·算法·金融·乖乖数学·全域数学
用户03321266636718 小时前
使用 Python 在 Word 文档中添加批注
python