Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Tabela2-2Metodyiatrybutyznajdującesięwobiektachlistlubarray(przestarzałemetody
tablicorazmetodyimplementowanerównieżwtypieobjectzostałypominiętedla
zwięzłości)
s.tofile(f)
s.tolist()
s.typecode
list
array
Zapisanieelementówjakoupakowanych
wartościmaszynowychdobinarnegopliku
f
Zwrócenieelementówjakoliczbowych
obiektówwobiekcie
list
Jednoznakowyłańcuchidentyfikującytyp
elementówwjęzykuC
aOperatoryodwróconewyjaśnionewrozdziale13.
WwersjiPython3.4typ
array
niemametody
sort
sortującejwmiejscu,takiej
jak
list.sort()
.Jeślipotrzebujemyposortowaćtablicę,używamyfunkcji
sor-
ted
,abyzbudowaćponownieposortowaną:
a:array.array(a.typecode,sorted(a))
Abyzachowaćposortowanątablicępodczasdodawaniadoniejelementów,
używamyfunkcji
bisect.insort
(jakwidzieliśmywpodrozdzialeWstawianie
zapomocąfunkcjibisect0insort).
Jeślidużopracujeszztablicami,anieznasztypu
memoryview
,wieletracisz.Zobaczna-
stępnytemat.
Widokipamięci
Wbudowanaklasa
memorview
jesttypemsekwencjiobejmującymwspółdzielonąpamięć,
którypozwalaobsługiwaćwycinkitablicbezkopiowaniabajtów.Zostałazainspirowana
bibliotekąNumPy(którąomówimypokrótcewpodrozdzialenNumPyiSciPy”).Travis
Oliphant,wiodącyautorNumPy,takodpowiedziałnapytanieWhenshouldamemo-
ryviewbeused?[Kiedynależyużywaćmemoryview]:
WidokpamięcitoistotnieuogólnionastrukturatablicyNumPywsamymPythonie
(bezmatematyki).Pozwalanawspółdzieleniepamięcimiędzystrukturamidanych
(takimijakobrazyPIL,bazydanychSQLlite,tabliceNumPyitp.)bezwcześniej-
szegokopiowania.Jesttobardzoważnedladużychzbiorówdanych.(http://bit.
ly/1Vm6C8B)
Korzystającznotacjipodobnejdomodułu
array
,metoda
memoryview.cast
pozwala
zmieniaćsposóbodczytywanialubzapisywaniawielujakojednostekbezprzenoszenia
bitów(zupełniejakoperator
cast
wjęzykuC).
memoryview.cast
zwracajeszczejeden
obiekt
memoryview
,zawszewspółdzielącesamąpamięć.
56
|
Rozdział2:Sekwencjeitablice