Python字典(dict)详解

Python字典(dict)详解文章目录 一 字典 dict 的概念 二 字典 dict 的定义 1 一般格式 2 空字典 3 举例 注意 三 字典 dict 的一些基本操作 1 增 2 删 3 查 4 改 四 字典 dict 的常见操作 五 字典三种取值方式 1 value 字典名 key 2 setdefault 3 get 六 字典的遍历 1 key 2 value 3 item 4 依次打印 key 和 value 5 元素值和对应的下标索引 enumerate 一 字典 dict 的概念 Python 字典是另一种可变容器模

一.字典(dict)的概念:

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

二.字典(dict)的定义:

1.一般格式:

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

2.空字典:

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

3.举例:

dict = { 
   "nane": "张三", "age": 20, "sex": "男"} dict1={ 
   } dict2={ 
   } print(dict) print(dict1) print(dict2) 

注意:

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

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

1.增:

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

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

在这里插入图片描述

2.删:

格式:del 字典名[key]

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

在这里插入图片描述

3.查:

格式: value=字典名[key]

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

在这里插入图片描述

4.改:

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

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

在这里插入图片描述
注意:也可以使用clear()去进行清空字典

#清空字典 dict.clear() print(dict) 

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

名称 解释
len() 测量字典中键值对个数
keys() 返回字典中所有的key
values() 返回包含value的列表
items() 返回包含(键值,实值)元组的列表
in \ not in 判断key是否存在字典中
举例说明:
# 定义一个字典 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值进行取值:

#字典的定义 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;
#字典的定义 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;
#字典的定义 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:

#1.key for i in my_dict.keys(): print(i) 

2.value:

#2.value for i in my_dict.values(): print(i) 

3.item:

#3.所有项(元素) item for i in my_dict.items(): print(i) 

4.依次打印key和value:

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

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

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

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

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207091.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:28
下一篇 2026年3月19日 下午2:28


相关推荐

发表回复

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

关注全栈程序员社区公众号