Python 序列陣列

2021-09-13 03:23:11 字數 3630 閱讀 4294

list 可變陣列

list 為可變陣列,在執行新增元素操作時,會根據當前陣列長度額外開闢空間(無需每次新增元素都開闢空間)。雖然方便修改,但占用記憶體。

2. tuple 被視為不可變列表,但其實它是資料的記錄。tuple 一旦建立則無法更改其中的元素,但是可以修改元組元素中的元素(巢狀元素)。

list、tuple 的拆包

>>

> data =

['jack'

,'male'

,'6'

]>>

> name, ***, age = data

>>

>

print

(name, ***, age)

jack male 6

>>

> name,

*others = data

>>

>

print

(name, others)

jack [

'male'

,'6'

]

namedtuple 具名元組

namedtuple 具名元組,使用名稱以及 『.』 來獲取資料。可視為 簡單的自定義類。

>>

> people = namedtuple(

'people'

,'name *** age'

)>>

> p1 = people(

'jack'

,'male'

,'25'

)>>

>

print

(p1)

people(name=

'jack'

, ***=

'male'

, age=

'25'

)>>

>

print

([i for i in p1._fields])[

'name'

,'***'

,'age'

]>>

>

for i in p1._asdict(

).items():

>>

>

print

(i, end=

', ')(

'name'

,'jack'),

('***'

,'male'),

('age'

,'25'),

>>

>

print

(p1.name)

jack

array 列表。

當我們只需要乙個包含數字的列表時,array.array 比 list 更高效。且支援讀寫檔案,比 list 更加節省空間。array 需要指定乙個型別碼。

type code   c type             minimum size in

bytes

'b' signed integer 1

'b' unsigned integer 1

'u' unicode character 2

(see note)

'h' signed integer 2

'h' unsigned integer 2

'i' signed integer 2

'i' unsigned integer 2

'l' signed integer 4

'l' unsigned integer 4

'q' signed integer 8

(see note)

'q' unsigned integer 8

(see note)

'f' floating point 4

'd' floating point 8

>>

>

from array import array

>>

> a = array(

'b',(1

,2,5

,7,2

,9))

>>

>

print

(a) array(

'b',[1

,2,5

,7,2

,9])

>>

>

print

(a[1])

2

deque 雙端佇列

從頭尾新增、刪除元素效率高,但中間較複雜。可以指定固定元素數,存放歷史記錄。固定長度後,從頭新增則自動刪除尾部元素,從尾新增則自動刪除頭部元素。並且是多執行緒安全的。

>>

>

from collections import deque

>>

> deq = deque(

range(5

), maxlen=5)

>>

>

print

(deq)

deque([0

,1,2

,3,4

], maxlen=5)

>>

> deq.rotate(2)

>>

>

print

(deq)

deque([3

,4,0

,1,2

], maxlen=5)

>>

> deq.rotate(-2

)>>

>

print

(deq)

deque([0

,1,2

,3,4

], maxlen=5)

>>10)

>>

>

print

(deq)

deque([1

,2,3

,4,10

], maxlen=

5)

python序列資料 Python資料序列之字典

目標 字典的應用場景 建立字典的語法 字典常見操作 字典的迴圈遍歷 一.字典的應用場景 思考1 如果有多個資料,例如 tom 男 20,如何快速儲存?答 列表 list1 tom 男 20 思考2 如何查詢到資料 tom 答 查詢到下標為0的資料即可。list1 0 思考3 如果將來資料順序發生變化...

Python處理時間序列資料

初償用python處理時間序列的資料,碰到一些坑。以此文記錄一下,希望後來者可以少走彎路。背景說明 我是用乙個已有的csv資料表作為原材料進行處理的。目的 實現時間序列的視覺化,及週期性的視覺化。1 碰到的第乙個坑是,匯入到時間資料,預設的是字串的資料型別。因此,在視覺化的時候,會出現沒有按時間先後...

python序列資料型別 列表

列表是python內建序列之一,不可雜湊,可修改。下面是本人複習 python基礎教程 magnus lie hetland 第二章的總結筆記。方法運用例子 注意事項 增 在末尾增加乙個值 在末尾增加多個值 extend x.extend y y為有多個值組成的序列 在指定位置插入 insert,切...