python基本数据类型-字典dict

1.定义

{key1:value1,key2,value2}
:左边为key,右边为value,即字典中数据的存储形式为键值对

2.特性

1.key-value结构(键值对)
2.key必须为不可变数据类型,必须唯一。 如果在字典中定义个了两个或多个同名的key,则最后一个key会将之前的值覆盖。
3.可存放任意多个value,可以修改,可以不唯一。
4.无序
5.查询速度快,且不受dict大小的影响(字典的查询不需要遍历整个字典,直接通过key值查询)

3.字典常用操作

3.1 增加
>>> dict = {'name':'caizhi','age':21}
>>> dict
{'name': 'caizhi', 'age': 21}
>>> dict['sex']='male'
>>> dict
{'name': 'caizhi', 'age': 21, 'sex': 'male'}
3.2 删除
3.2.1 pop()

删除指定的key,并返回对应的value值

>>> dict
{'name': 'caizhi', 'age': 21, 'sex': 'male'}
>>> dict.pop('sex')
'male'
>>> dict
{'name': 'caizhi', 'age': 21}
3.2.2 del

同样是删除指定的key,但不返回对应的value值

>>> dict
{'name': 'caizhi', 'age': 21}
>>> del dict['age']
>>> dict
{'name': 'caizhi'}
3.2.3 clear()

清空字典

>>> dict
{'name': 'caizhi'}
>>> dict.clear()
>>> dict
{}
3.3 修改

通过key值修改其对应的value值

>>> dict = {'name':'caizhi','age':21}
>>> dict
{'name': 'caizhi', 'age': 21}
>>> dict['age']=22
>>> dict
{'name': 'caizhi', 'age': 22}
3.4 查找
3.4.1 直接使用key值查找

直接使用key值查找,若key在字典中则返回其value值,找不到则会报错

>>> dict
{'name': 'caizhi', 'age': 22}
>>> dict['name']
'caizhi'
>>> dict['sex']
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    dict['sex']
KeyError: 'sex'
3.4.2 get()

使用get(key)方法查找,若key在字典中则返回其对应的value值,否则返回None

dict = {'name':'caizhi','age':21}
res1 = dict.get('name')
print(res1)
res2 = dict.get('sex')
print(res2)

caizhi
None
3.4.3 in

key在字典中则返回True,否则返回False

>>> dict
{'name': 'caizhi', 'age': 21}
>>> 'name' in dict
True
>>> 'sex' in dict
False
3.4.4 keys()

返回一个包含字典所有key的列表

>>> dict.keys()
dict_keys(['name', 'age'])
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> dict.keys()
dict_keys(['name', 'age', 'hobby'])
3.4.5 values()

返回一个包含字典所有value的列表

>>> dict.values()
dict_values(['caizhi', 21])
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> dict.values()
dict_values(['caizhi', 21, ['running', 'reading']])
3.4.6 items()

返回一个包含所有(键,值)元组的列表

>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
dict.items()
dict_items([('name', 'caizhi'), ('age', 21), ('hobby', ['running', 'reading'])])
3.5 循环
3.5.1 for k in dict.keys()
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> for k in dict.keys():
	print(k,dict[k])

	
name caizhi
age 21
hobby ['running', 'reading']
3.5.2 for k,v in dic.items()
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> for k,v in dict.items():
	print(k,v)

	
name caizhi
age 21
hobby ['running', 'reading']
3.5.2 for k in dict # 效率最快
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> for k in dict:
	print(k)

	
name
age
hobby
>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> for k in dict:
	print(k,dict[k])

	
name caizhi
age 21
hobby ['running', 'reading']
3.6 求长度 len()

python内置函数

>>> dict
{'name': 'caizhi', 'age': 21, 'hobby': ['running', 'reading']}
>>> len(dict)
3
posted @ 2021-01-24 21:58  你是久别重逢  阅读(78)  评论(0编辑  收藏  举报