python 資料結構

2021-09-24 03:37:04 字數 1513 閱讀 4593

1、解壓賦值多個變數,運用*號

(1)如:在一列排好順序的成績下,去掉乙個最低分和乙個最高分,對剩下的數,求平均值

def ggg(grede):

frist,*list,end = grede

return list

grede = [23,45,55,78,89,100]

list = ggg(grede)

print("%f\n"%(sum(list)/len(list)))

(2) 星號表示式在迭代元素為可變長元組的序列時是很有用的,如:

records = [

('foo', 1, 2),

('bar', 'hello'),

('foo', 3, 4),

]def do_foo(x, y):

print('foo', x, y)

def do_bar(s):

print('bar', s)

for tag, *args in records:

if tag == 'foo':

do_foo(*args)

elif tag == 'bar':

do_bar(*args)

2、雙端queue

(1)基本用法

下面簡單的介紹一下python中雙端佇列的操作函式;

from collections import deque           #首先從collections 模組中匯入deque類

下來我們定義乙個雙端佇列

函式詳情:

雙端佇列中獲取就直接用下表獲取就行了。

**:

from collections import deque

def search(lines, pattern, history=5):

previous_lines = deque(maxlen=history)

for line in lines:

if pattern in line:

yield line, previous_lines

# example use on a file

if __name__ == '__main__':

with open(r'../../cookbook/somefile.txt') as f:

for line, prevlines in search(f, 'python', 5):

for pline in prevlines:

print(pline, end='')

print(line, end='')

print('-' * 20)

理解一下,上面的這段**,其中 yield 是生成器的意思,如不明白的話請檢視 

雙端佇列使用時,應注意:deque(maxlen=n)建構函式會新建乙個固定大小的佇列。當新的元素加入並且這個佇列已滿的時候, 最老的元素會自動被移除掉。

python資料結構

資料結構是一種結構,它們用以把一些資料儲存在一起。在python中有三種內建的資料結構 列表 list 元組 tuple 字典 dictionary 列表由一對方括號括起來,其中的專案之間以逗號分隔。你可以在列表中增加 刪除 查尋專案。示例如下 python using list.py 這兒有 4 ...

python 資料結構

刪除元素 remove,pop,del set是乙個無序的,不重複的元素集合 set中每個元素都是可雜湊的,但是set不是可雜湊的。相對應的frozenset,可hash,可以作為keys存在於dict中 支援 x in set,len set for x in set,不支援slice等序列操作 ...

python 資料結構

變數是只不過保留的記憶體位置用來儲存值。這意味著,當建立乙個變數,那麼它在記憶體中保留一些空間a abc 1.在記憶體中建立了乙個 abc 的字串 2.在記憶體中建立了乙個名為a的變數,並把它指向 abc a abc b a a xyz a abc 直譯器建立了字串 abc 和變數a,並把a指向 a...