您的当前位置:首页正文

python中字典详解

2024-02-13 来源:小奈知识网
python中字典详解

字典特点

字典是python中最常⽤的数据类型,主要的特点如下:1.字典的关键字:dict 字典⼀般是⽤\"{}\"花括号括起来的2.字典是⽆序的数据类型

3.字典的可以存储任意数据类型(例如:字典,列表,元组,数字,字符串,集合,布尔值)

4.字典的元素可以更改,但是如果包含的数据类型是元组,则元组⾥⾯的数据是不能进⾏更改,只能整体替换

5.字典的元素是按照key-value键值对的形式存在的,key和value之间是⽤ \":\" 冒号隔开,每个键值对之间是⽤ ,逗号隔开,整个字典是⽤{}包括起来

6.key的值是唯⼀且不可变的数据类型,例如:元组,数字,字符串,布尔值,浮点数 如果key值存在重复,那最后⼀个键值对会替换前⾯的

7.字典的取值,是根据key进⾏取值,因为字典是⽆序的数据类型,所以不能使⽤索引进⾏取值,只有列表,元组才可以使⽤索引取值(有索引,就代表是有序的)

字典的常⽤操作1.定义⼀个空的字典⽅法dict={}

2.创建⼀个字典

dict={\"name\":\"⼩张\你好\学习\不同类型的数据,key是唯⼀且不可变类型,value可以是任意类型的)

3.字典的取值

取值单个元素:字典的取值是根据key来取的,例如:dict[\"name\"], 输出结果为:⼩张 取值⽅法:字典名[key] for循环取值:还可以通过for循环去进⾏元素遍历取值 ⽅法如下:

for 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) 返回变量的类型,如果是字典格式的,那返回的数据类型为dicteg:

例如:

1 aa={True:\"nihao\}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\"])

因篇幅问题不能全部显示,请点此查看更多更全内容