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,切...