Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Tabela2-4Metodyimplementowanewobiektach
list
lub
deque
(dlazwięzłościmetody
implementowanetakżeprzeztyp
object
zostałypominięte)
Metoda
s.––setitem––(p
,
e)
s.sort([key]
,
[reverse])
list
deque
Przykładiopis
s[p]:e
umieszczenie
e
napozycji
p
,
znadpisaniemistniejącegoelementu
Sortowanieelementówwmiejscu
zopcjonalnymiargumentamisłów
kluczowych
key
i
reverse
a
Operatoryodwróconeobjaśnionewrozdziale16.
b
a–list.pop(p)
pozwalanausunięciezpozycji
p
,ale
deque
nieobsługujetejopcji.
Poza
deque
istniejąinnepakietybibliotekistandardowejPythonaimplementującekolejki:
queue
Zapewniasynchronizowane(tj.bezpiecznewątkowo)klasy
SimpleQueue
,
Queue
,
LifoQueue
i
PriorityQueue
.Służądobezpiecznejkomunikacjimiędzywątkami.
Wszystkiepoza
SimpleQueue
mogąbyćograniczoneprzezpodaniedokonstruktora
argumentu
maxsize
większegood0.Jednakobiektytenieodrzucająelementów,aby
zrobićmiejsce,jakrobito
deque
.Zamiasttego,gdykolejkajestpełna,wstawianie
nowychelementówblokujesię-tj.kolejkaczekainnywątekzrobimiejsce,zabie-
rającelementzkolejki,cojestprzydatnedodławienialiczbydziałającychwątków.
multiprocessing
Implementujewłasnąnieograniczonąkolejkę
SimpleQueue
orazograniczonąkolejkę
Queue
,bardzopodobnądo
queue.Queue
,aleprzeznaczonądokomunikacjimiędzy
procesami.Wcelułatwiejszegozarządzaniazadaniamijestdostępnatakżespecja-
listycznakolejka
multiprocessing.JoinableQueue
.
asyncio
Dostarczakolejki
Queue
,
LifoQueue
,
PriorityQueue
i
JoinableQueue
zinterfejsami
APIinspirowanymiklasamizawartymiwmodułach
queue
i
multiprocessing
,ale
zaadaptowanedozarządzaniazadaniamiwprogramowaniuasynchronicznym.
heapq
Wprzeciwieństwiedopoprzednichtrzechmodułów,
heapq
nieimplementujeklasy
kolejki,alezapewniafunkcje,takiejak
heappush
i
heappop
,którepozwalająużywać
zmiennejsekwencjijakokolejkistertylubkolejkipriorytetów.
Tokończynaszprzeglądalternatywdlatypu
list
,atakżebadanietypówsekwencyjnych
wogólności-zwyjątkiemszczególnegotypu
str
isekwencjibinarnych,którympoświę-
conyjestosobnyrozdział4.
72
|
Rozdział2:Tablicasekwencji