Matematikai Algoritmusok és Felfedezések I.

3. Előadás: Sorozat típusok

2021 február 22.

Sorozat típusok

operation behaviour
x in s True ha s egyenlő x valamelyik elemével, különben False
x not in s Flase ha s egyenlő x valamelyik elemével, különben True
s + t s és t összefűzése
s * n or n * s ekvivalens azzal, hogy összeadjuk s-nek n darab példányát
s[i] s-nek az i. eleme, 0-tól kezdve
s[i:j] s-nek az i-től j-ig tartó szelete
s[i:j:k] s-nek az i-től j-ig tartó szelete k lépésközzel
len(s) s hossza
min(s) s legkisebb eleme
max(s) s legnagyobb eleme
s.index(x[, i[, j]]) s első előfordulásának indexe x-ben (az i. indextől a j.-ig tartó részen)
s.count(x) s x-beli megjelenéseinek száma

list

append, insert, del

Indexelés, range-k

Vajon mi az eredmény?

A lista mutable, elemei megváltoztathatóak:

Az = operáció egy referenciát állít be

az elemeknek nem kell azonos típusunak lennie

listákon végigmehetünk for ciklussal

enumerate

ha szükségünk van az indexre is, a beépített enumerate függvény index-elem párokon fut végig

Lista rendezés

Helyben is lehet rendezni a .sort() metódussal.

A key argumentummal megadhatjuk, hogy mi szerint rendezzünk

Lambda kifejezések

Rendezzünk például abszolút érték szerint. A beépített sorted függvény nem elég:

De megadhatjuk, hogy milyen key kulcsot használjon:

Bármilyen függvényt használhatunk

A * operátor

A * operátor segítségével "kibonthatunk" egy listát. A *l kifejezés felsorolja az l lista elemeit de már nem egy lista objektum. Ez tipikusan akkor hasznos, ha egy függvény sok paramétert vár.

Függvények újra. args és kwargs

tuple

indexelés azonos a listákkal

a tuple immutable referenciákat tartalmaz, de, a benne lévő objektum lehet mutable

Mire jó a tuple, ha kevesebbet tud mint a lista?

Mit kapunk?

dictionary

(Valójában ez sokkal inkább hasonlít a matematikai függvény fogalomhoz, mint a python függvényei.)

másik megadás

kulcs törlése

dictionary bejárása

értékek iterálása

közös iterálás

Mi történik a háttérben?

Q. Lehetnek-e ezek dictionary kulcsok?

Függvények újra. args és kwargs

set

deleting elements

set operációk

issubset és issuperset

hasznos tulajdonságok

list lookup

set lookup

Stringek

String operációk

Mivel minden függvény visszatér egy új stringgel, egymás után fűzhetőek.

Eldöntendő kérdések

split és join

Példa: Egy wikipedia oldal szó frekvenciája