首页 > 大数据 > 数据分析 > 制造业数字化转型路线图
列举python常用的数据结构
字典,集合,列表,字符串,元组
2.字典、集合、列表的区别
列表:
(1)任意对象的有序集合
列表是一组任意类型的值,按照一定顺序组合而成的
(2)通过偏移读取
组成列表的值叫做元素,每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现
(3)可变长度,异构以及任意嵌套
列表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套
(4)可变的序列
支持索引、切片、合并、删除等操作,塔门都是在原处进行修改列表
(5)对象引用数组
列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向一个对象,所以程序只需要处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会存储对象的引用,而不是一个对象的拷贝。
元组:
(1)任意对象的有序集合
与列表相同
(2)通过偏移存取
与列表相同
(3)属于不可变序列类型
类似于字符串,但元组是不可变的,不支持在列表中任何原处修改操作,不支持任何方法调用
(4)固定长度、异构、任意嵌套
固定长度即元组不可变,在不被拷贝的情况长度下固定,与其他同列表
和列表项比较
比列表操作速度快;对数据“写保护”;可用于字符串格式化中,可作为字典的key
字典
(1)通过键而不是偏移量来读取
字典就是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储,查找速度快
(2)任意对象的无序集合
字典中没有特定顺序,以键为象征
(3)可变长、异构、任意嵌套
同列表,嵌套可以包含列表和其他字典等
(4)属于可变映射类型
因为是无序,故不能进行序列操作,但可以在远处修改,通过映射到值。字典是唯一内置的映射类型(键映射到对象)
(5)对象引用表
字典存储的是对象引用,不是拷贝,和列表一样。字典的key是不能变的。list不能作为key,字符串、元组、整数等都可以
和列表相比较,字典的特性:
1.查找和插入的速度极快,不会随着key的增加而增加
2.需要占用大量的内存,内存浪费多
但是列表相反:
1.查找和插入的时间随着元素的增加而增加
2.占用空间小,浪费内存很少
所以字典是用空间来换取时间的一种方法
集合
1.是一组key的集合,但不存储value,并且key不能重复
2。重复元素在集合中自动被过滤
集合可以看成数学意义上的无序和无重复元素的集合,因此,两个集合可以做数学意义上的交集、并集等操作
和字典对比
1.集合和字典的唯一区别仅在于没有存储对应的value
2.集合的原理和字典一样,同样不可以放入可变对象,因为无法判断两个变对象是否相等,也就无法保证集合内部“不会有重复元素”
数据抓取时,常用的包和基础框架是什么
Requests
Selenium
Pyppetter
Aiohttp
Urlib
Gevent
Lxml
Pyquery等等
包:Scrapy Pysipder
HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件、图像、结果等,即是一个客户端和服务器端请求和应答的标准
HTTP协议特点
1.http无连接:限制每次连结只处理一个请求,服务端完成客户端的请求后,即断开连接。(传输速度快,减少不必要的连结,但也意味着每一次访问都要建立一次连结,效率降低)
2.http无状态:对事物处理没有记忆能力。每一次请求都是独立的,不记录客户端任何行为(优点解放服务器,但可能每次请求会传输大量重复的内容信息)
3.客户端/服务端模型:客户端支持web浏览器或其他客户端,服务器通常是apache或list等
4.简单快捷
5.灵活:可以传输任何类型的数据
客户请求消息:
客户端发送一个请求到服务器的请求消息包括以下格式:
请求行,请求头部,空行,请求数据
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31395138/viewspace-2865671/ ,如需转载,请注明出处,否则将追究法律责任。