Python基本数据类型——字典
一、字典简介
字典dict: 由键值对构成的无序集合(key–value
键(key): 数据类型一般为数字或者字符串,必须是唯一不重复的
值(value): 可以使任意数据类型
二、字典的变量初始化
a = {}
b = {
1: 2, #key:数字;value:数字
"k2": "v2", #key:字符串;value:字符串
"k3": [1, 2, 3], #key:字符串;value:列表
"k4":(1, 2, 3), #key:字符串;value:元组
"k5": {
"name": "vae",
"age": 18
},
("k6",): "v6" #key:元组
}
print("a的数据类型是:", type(a)) #a的数据类型是: <class 'dict'>
print("b的数据类型是:", type(b)) #b的数据类型是: <class 'dict'>
三、字典的常用功能:长度、增删改查
1、长度
D = {
"k1":"v1",
"k2":"v2",
"k3":"v3"
}
print(len(D)) #3
2、键、值、键值对
D = {
"k1":"v1",
"k2":"v2",
"k3":"v3"
}
print(D.keys()) #dict_keys(['k1', 'k2', 'k3'])
print(D.values()) #dict_values(['v1', 'v2', 'v3'])
print(D.items()) #dict_items([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
3、查
获取字典中值的方法共有三种:
第一种方法: 通过key值去获取value值(无对应值会报错)
第二种方法: get() (无对应值也不会报错,可以设置无值时返回的结果)
第三种方法: setdefault() (此方法会修改字典,前两种不会修改字典;有则获取,无则新增)
- 第一种方法: 通过key值去获取value值(无对应值会报错)
D = {
"k1":"v1",
"k2":"v2",
"k3":"v3"
}
print(D["k3"]) #v3
print(D["k4"]) #KeyError: 'k4'
- 第二种方法: get() (无对应值也不会报错,可以设置无值时返回的结果)
D = {
"k1":"v1",
"k2":"v2",
"k3":"v3"
}
print(D.get("k3")) #v3
print(D.get("v4")) #None
print(D.get("k4", "False")) #False
- 第三种方法: setdefault() (此方法会修改字典,前两种不会修改字典;有则获取,无则新增)
D = {
"k1":"v1",
"k2":"v2",
"k3":"v3"
}
print(D.setdefault("k3")) #v3
print(D.setdefault("k4")) #None
print(D) #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': None}
print(D.setdefault("k5", "v5")) #v5
print(D) #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': None, 'k5': 'v5'}
4、增
第一种方法: setdefault(),有则获取,无则增加
第二种方法: 通过索引,有则改,无则增
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
D["k4"] = "v4"
print(D) #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
D["k5"] = "v5"
print(D) #{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4', 'k5': 'v5'}
5、删
pop(): 获取并在字典中移除指定key值项
popitem(): 获取并且在字典中移除最后一项
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
D.pop("k1")
print(D) #{'k2': 'v2', 'k3': 'v3'}
a = D.pop("k2")
print(a) #v2
b = D.popitem()
print(b) #('k3', 'v3')
print(D) #{}
6、清空 clear()
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
D.clear()
print(D) #{}
7、循环
- items 键值对
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
for k, v in D.items():
print(k, ":", v)
'''
运行结果:
k1 : v1
k2 : v2
k3 : v3
'''
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
for i, j in D.items():
print(i, ":", j)
'''
运行结果:
k1 : v1
k2 : v2
k3 : v3
'''
- keys() 键
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
for k in D.keys():
print(k)
'''
运行结果:
k1
k2
k3
'''
- values() 值
D = {
"k1": "v1",
"k2": "v2",
"k3": "v3"
}
for k in D.values():
print(k)
'''
运行结果:
v1
v2
v3
'''