列舉python常用的資料結構

52774894發表於2022-03-05

列舉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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章