1.什么是字典
想到日常生活中大家都用过的字典,最著名的是新华字典。可以按照拼音或者偏旁部首来查找。但无论是拼音还是偏旁部首,都是通过一个关键字段找到对应的结果。
所以,认为汉语拼音或者偏旁部首都是要查找到这个结果的关键钥匙,也就是key,通过这个key可以快速得找到结果。
这个结果也就是value,那么python中的字典也是一样的。通过key去查找到value。key和value一一对应。
字典是由多个键(key)以及其对应的值(value)所组成的一种数据类型。
2.字典的结构与创建方法
在python中,dict用来代表字典,并且可以创建一个字典。
在python中,通过{}将一个个key与value存入字典中。
好的规范: 在键值对中,冒号的后边,和值之间,要有一个空格。一个个不同的键值对之间,逗号后面也要有一个空格。
3.字典支持的数据类型
key支持字符串,数字和元组类型,但列表是不支持的。
value支持所有python的数据类型。
4.列表与元组中定义字典
字典是可以进行修改的和添加的。元组中的字典是无法进行修改的。
元组一旦创建,就不可改变。
5.python3.7与之前版本的字典的区别
python3.7以前,字典是无序的。什么是无序的字典呢?
比如刚才创建的字典里有2个键值对。第一个是name对应的值是dewei,第二个键值对的key是age,对应的值是33。按照先写了name再写了age的顺序将它创建了出来。但是每次打印的时候,有可能打印出来的效果,它的顺序是颠倒的。
但是到了python3.7之后,顺序就不会发生改变了。这是版本间字典的一个区别。
6.字典的重要特性
字典中每一个key一定是唯一的。
比如在新华字典中,如果想找一个字,这个字如果在不同的页里都有这个字,而且读法相同,但是解释不同。那么我们就不知道应该去取哪一个了。
那么字典里也是一样。只能通过唯一的key去寻找唯一的value,才能做到一一对应。说到底,字典中的key就是为了value而服务的。要通过key找到value,才是最终的目的。
7.代码
成员运算符可以在字典里随意的使用。如果一个字典是空的,对应的布尔类型的判断就是False,如果是非空,就是True。
# coding:utf-8user_info = {'name':'小编同学','age':10,'top':'180cm'}result = 'name' in user_infoprint(result)result = 'hope' in user_info
print(result)result = 'hope' not in user_info
print(result)count = len(user_info)
print(count)result_bool = bool(user_info)
print(result_bool)
empty_dict ={}
print(bool(empty_dict))print(type(dict(empty_dict)))print(max(user_info))
print(min(user_info))
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/dict_test.py
True
False
True
3
True
False
<class 'dict'>
top
age进程已结束,退出代码为 0