您的位置:首页 > 新闻 > 资讯 > python全栈开发《12.数据类型之初识字典》

python全栈开发《12.数据类型之初识字典》

2024/10/5 13:35:25 来源:https://blog.csdn.net/weixin_41033105/article/details/140224705  浏览:    关键词:python全栈开发《12.数据类型之初识字典》

1.什么是字典

想到日常生活中大家都用过的字典,最著名的是新华字典。可以按照拼音或者偏旁部首来查找。但无论是拼音还是偏旁部首,都是通过一个关键字段找到对应的结果。

所以,认为汉语拼音或者偏旁部首都是要查找到这个结果的关键钥匙,也就是key,通过这个key可以快速得找到结果。

这个结果也就是value,那么python中的字典也是一样的。通过key去查找到value。key和value一一对应。

  • 字典是由多个键(key)以及其对应的值(value)所组成的一种数据类型。

2.字典的结构与创建方法

  • 在python中,dict用来代表字典,并且可以创建一个字典。

  • 在python中,通过{}将一个个key与value存入字典中。

94b89873c606faa6f49b0195af2cba79.png
创建字典的两种方法:

好的规范: 在键值对中,冒号的后边,和值之间,要有一个空格。一个个不同的键值对之间,逗号后面也要有一个空格。

3.字典支持的数据类型

  • key支持字符串,数字和元组类型,但列表是不支持的。

  • value支持所有python的数据类型。

96722d93f7383c67e0c77a667c5a7ca3.png

4.列表与元组中定义字典

c60fd140934de8833e54a4e619b8f0c8.png

字典是可以进行修改的和添加的。元组中的字典是无法进行修改的。

  • 元组一旦创建,就不可改变。

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com