列舉python常用的資料結構
列舉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部落格 ” ,連結:http://blog.itpub.net/31395138/viewspace-2864951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python常用資料結構(列表)Python資料結構
- Python資料結構——佇列Python資料結構佇列
- USB裝置的列舉過程分析——資料結構先行資料結構
- 資料結構複習-01enum列舉型別資料結構型別
- Go常用的資料結構Go資料結構
- 結構體,列舉,聯合結構體
- Partial類、列舉、結構體結構體
- python演算法與資料結構-資料結構中常用樹的介紹(45)Python演算法資料結構
- python資料結構之棧、佇列的實現Python資料結構佇列
- 列舉繫結資料來源,獲取值
- 資料結構-佇列資料結構佇列
- 【資料結構-----佇列】資料結構佇列
- 資料結構 - 陣列資料結構陣列
- 資料結構 - 佇列資料結構佇列
- 資料結構-陣列資料結構陣列
- 關於海量資料常用的資料結構資料結構
- 資料結構-迴圈佇列(Python實現)資料結構佇列Python
- Java刷題常用的資料結構總結Java資料結構
- 資料結構之「佇列」資料結構佇列
- 資料結構之「陣列」資料結構陣列
- 資料結構之陣列資料結構陣列
- 資料結構-佇列-樹資料結構佇列
- 資料結構2——陣列資料結構陣列
- Java資料結構-陣列Java資料結構陣列
- 資料結構—棧/佇列資料結構佇列
- 資料結構-佇列、棧資料結構佇列
- python演算法與資料結構-佇列(44)Python演算法資料結構佇列
- Python內建資料結構之雙向佇列Python資料結構佇列
- python 資料結構Python資料結構
- Python資料結構Python資料結構
- 圖解Java常用資料結構圖解Java資料結構
- 常用資料結構-namedtuple(命名元祖)資料結構
- 資料結構程式碼常用模板資料結構
- 資料結構中常用的數學公式資料結構公式
- Python教程:Python內建資料結構之雙向佇列!Python資料結構佇列
- 結構、位域、聯合、列舉之小小總結
- Java版-資料結構-陣列Java資料結構陣列
- JavaScript資料結構之-佇列JavaScript資料結構佇列