Recent Changes - Search:

Oktatás

* Programozás 1
  + feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

Teaching

* Programming 1 (BI)
  ◇ exercises
  ◇ quick link

* Scripting Languages
  ◇ exercises
  ◇ quick link

teaching assets


Félévek

* aktuális (2023/24/2)
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

Py /

20170516b

deque([iterable[, maxlen]])

Deque: double-ended queue, azaz kétvégű sor (ejtsd: "dekk"). Mindkét végére be lehet tenni elemeket, ill. mindkét végéről ki lehet venni elemeket, s ezen műveletek olcsók (O(1) bonyolultságúak). Ha egy sor adatszerkezetre van szükségünk, akkor használhatjuk a deque-et.

Ha a maxlen nincs megadva (vagy None az értéke), akkor a deque méretére nincs korlátozás. Ha rögzítjük a deque méretét és egy teli deque-be teszünk be egy elemet, akkor a túloldalon lévő szélső elem "kiesik" (törlődik).

>>> from collections import deque
>>> q = deque([2,3,4])
>>> q
deque([2, 3, 4])
>>> q.append(5)
>>> q
deque([2, 3, 4, 5])
>>> q.appendleft(1)
>>> q
deque([1, 2, 3, 4, 5])
>>> q.popleft()
1
>>> q
deque([2, 3, 4, 5])
>>> q.pop()
5
>>> q
deque([2, 3, 4])
>>>

Fix méretű sor:

>>> q = deque([2,3,4], maxlen=4)
>>> q
deque([2, 3, 4], maxlen=4)
>>> q.append(5)
>>> q
deque([2, 3, 4, 5], maxlen=4)
>>> q.append(8)
>>> q
deque([3, 4, 5, 8], maxlen=4)
>>> q.appendleft(0)
>>> q
deque([0, 3, 4, 5], maxlen=4)
>>>

A deque osztályban vannak még érdekes metódusok, pl. rotate(), aminek a segítségével jobbra / balra lehet forgatni egy kétvégű sort. További információért nézzük meg a dokumentációt.

queue.Queue

A standard könyvtárban van egy másik sor implementáció is, a Queue. Ezt akkor használjuk, ha több szálat is futtatunk a programunkban, amik egy termelő-fogyasztó feladaton dolgoznak, s ehhez egy közös sorra van szükségük. Ha nem használunk több szálat és csak egy sor adatszerkezetre van szükségünk, akkor a deque-et használjuk.

Feladatok

  • Py3.20170517a Öt egymást követő számjegy legnagyobb összege (természetesen deque-et használjunk!)

Linkek

Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2017 May 17, 13:09