字典特点
字典是python中最常用的数据类型,主要的特点如下:
1.字典的关键字:dict 字典一般是用"{}//代码效果参考:http://www.ezhiqi.com/zx/art_2176.html"花括号括起来的
2.字典是无序的数据类型
3.字典的可以存储任意数据类型(例如:字典,列表,元组,数字,字符串,集合,布尔值)
4.字典的元素可以更改,但是如果包含的数据类型是元组,则元组里面的数据是不能进行更改,只能整体替换
5.字典的元素是按照key-value键值对的形式存在的,key和value之间是用 ":" 冒号隔开,每个键值对之间是用 ,逗号隔开,整个字典是用{}包括起来
6.key的值是唯一且不可变的数据类型,例如:元组,数字,字符串,布尔值,浮点数 如果key值存在重复,那最后一个键值对会替换前面的
7.字典的取值,是根据key进行取值,因为字典是无序的数据类型,所以不能使用索引进行取值,只有列表,元组才可以使用索引取值(有索引,就代表是有序的)
字典的常用操作
1.定义一个空的字典方法
dict={}
2.创建一个字典
dict={"name":"小张",1:"你好",0.2:【1,2,3】,False:"学习",(2,3,4):9.8} --->(不同类型的数据,key是唯一且不可变类型,value可以是任意类型的)
3.字典的取值
取值单个元素:字典的取值是根据key来取的,例如:dict【"name"】, 输出结果为:小张 取值方法:字典名【key】
for循环取值:还可以通过for循环去进行元素遍历取值 方法如下:
?12for value in dict.valuse(): print(value)
4.字典的长度
如果想求字典的长度,可以使用len()内置函数 使用方法: len(dict)
字典的常用方法:
新增元素:dict【new_key】=new_value
删除元素:dict.pop【key_value】
修改元素的值:dict【old_key】=new_value
**修改元素和新增元素的区别,修改是将旧的key值,赋予新的value,新增是创建一个新的key值,赋予新的value
字典常用的内置函数
1.len() 使用方法:len(dict) 计算字典的元素个数,也就是键的总数
2.str() 使用方法:str(dict) 输出字典可打印的字符串格式,也就是将字典转换为字符串类型
3.type() 使用方法:type(dict) 返回变量的类型,如果是字典格式的,那返回的数据类型为dict
eg:
例如:
1 aa={True:"nihao",False:"LIHAI"}
2 print(aa【True】,aa【False】)
3 print(type(str(aa)))
4 print(len(aa))
输出结果:
nihao LIHAI #打印的为字典的单个值
#输出的为输入的变量类型
2 #输出的为字典的长度
字典常用的内置方法
1.dict.clear() 删除字典内所有元素
2.dict.pop(key,default) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
3.dict.popitem() 随机删除字典中的某个键值对
4.dict.get(key,default=None) 返回指定键的值,如果改值不在字典中,默认返回None
(参数解释:
key -- 字典中要查找的键。
default -- 如果指定键的值不存在时,返回该默认值。
)
5.dict.keys() 以列表返回字典中的所有key值 输出格式:将所有的key值存放在一个列表中,最后以元组输出
6.dict.values() 以列表返回字典中的所有value值 输出格式,将所有的value值存放在一个列表中,最后以元组输出
7.dict.items() 以列表返回可遍历的(键,值)元组数组 输出格式,将每一对key和value组成一个元组,再将这些数据存放在列表中,最后以元组输出
eg:
1 实例:
2 data={"name":"小张",1:"你好",0.2:【1,2,3】,False:"学习",(2,3,4):9.8}
3 print(data.items())
4 print(data.values())
5 print(data.keys())
6 print(data.get((2,3,4)))
7 data.pop(0.2)
8 print(data)
9 data.popitem()
10 print(data)
11 data.clear()
12 print(data)
14 输出结果:
15 dict_items(【('name', '小张'), (1, '你好'), (0.2, 【1, 2, 3】), (False, '学习'), ((2, 3, 4), 9.8)】)
16 dict_values(【'小张', '你好', 【1, 2, 3】, '学习', 9.8】)
17 dict_keys(【'name', 1, 0.2, False, (2, 3, 4)】)
18 9.8
19 {'name': '小张', 1: '你好', False: '学习', (2, 3, 4): 9.8}
20 {'name': '小张', 1: '你好', False: '学习'}
21 {}
字典中几种常用的取值方式:
from jsonpath import jsonpath
#取出小蓝
user_data={"user":"小红","name":{"年龄":18,"sex":{"hh":"aa","name":"小蓝"}}}
#使用jsonpath取值
e=jsonpath(user_data,"$..sex")【0】【"name"】
print(e)
#使用一层一层取值
e1=user_data【"name"】【"sex"】【"name"】
print(e1)
#用for循环取值
for value in user_data.values():
if value=={'年龄': 18, 'sex': {'hh': 'aa', 'name': '小蓝'}}:
print(value【"sex"】【"name"】)
#使用get的方式取值
e2=user_data.get("name")【"sex"】【"name"】
print(e2)
#取出字典所有的keys和values,items(),以列表返回可遍历的(键,值)元组数组,然后通过索引进行取值
e3=user_data.items()
print(type(e3))
print(list(e3)【1】【1】【"sex"】【'name'】)
#取出所有的value值,然后取出对应的值
e4=user_data.values()
print(list(e4)【1】【"sex"】【"name"】)