文章目录:
一.字典(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
