Seznamy  6. ledna 2022

Materiály

Nejste účastníkem kurzu
Pro zápis do kurzu se nejprve přihlašte a následně použijte tlačítko v přehledu kurzu.

Domácí projekty

Čeká tě procvičování práce se seznamy. Některé z projektů – a zvlášť ten poslední – potřebují trochu přemýšlení; nebudeš-li vědět jak dál, zeptej se na internetu nebo na sraze ostatních a řešte společně!

Většina funkcí, které budeš psát, dostane jako argument nějaký seznam a má za úkol vracet nějaký jiný seznam. Dej si pozor, aby funkce vracela nový seznam a seznam, který dostala argumentem, zůstal neporušen.

0.

Udělej si seznam domácích zvířat. Budeš ho potřebovat v dalších úlohách. Domácí zvířata známe tato: "pes", "kočka", "králík", "had".

Napiš funkci, která dostane jako argumenty seznam zvířat a slovo a zjistí, jestli je toto slovo v seznamu. „Zjistí“ znamená, že funkce vrátí True nebo False.

1.

Napiš funkci, která dostane jako argument seznam domácích zvířat a vrátí seznam těch, která jsou kratší než 5 písmen.

2.

Napiš funkci, která dostane jako argument seznam domácích zvířat a vrátí seznam těch, která začínají na k.

3.

Napiš program, který seřadí seznam domácích zvířat podle abecedy. Víš, jaký je rozdíl mezi metodou sort a funkcí sorted?

4.

Napiš funkci, která dostane dva seznamy jmen zvířat a vrátí tři seznamy:

  • zvířata, která jsou v obou seznamech současně (průnik množin: první ∩ druhá),
  • zvířata, která jsou jen v prvním seznamu (rozdíl množin: první - druhá),
  • zvířata, která jsou jen ve druhém seznamu (rozdíl množin: druhá - první).
5.

Napiš funkci, která dostane dvojici (tzv. tuple) a vrátí její součet. Pokud funkce dostane více jak dvě čísla, tj. např. trojici, tak vypíše: "Bohužel, umím sečíst jen dvě čísla.":

6.

Had byl pyšný na to, že je v abecedě první. Dokud nepřiletěla "andulka".

Abys hada uklidnila, vytvoř funkci, která zvířata seřadí podle abecedy, ale bude ignorovat první písmeno t.j. vrátí:

"had",
"pes",
"andulka",
"kočka",
"králík".

Postup:

  • Máš seznam hodnot, které chceš seřadit podle nějakého klíče. Klíč se dá z každé hodnoty vypočítat.
  • Vytvoř seznam dvojic (klíč, hodnota).
  • Seřaď tento seznam dvojic – dvojice se řadí nejdřív podle prvního prvku, pak druhého atd.
  • Nakonec vytvoř ze seznamu dvojic opět jen seznam hodnot.

Proč má zrovna had takovéhle výsadní postavení, zjistíš později.

Co po této lekci umím:

  • Vím, co je seznam a jak ho vytvořit.
  • Umím z něho vybrat potřebný prvek.
  • Měnit seznam, přidávat do něj nové prvky, řadit je a mazat.
  • Používám metody jako je např. count, index aj.
  • Vím, že seznam může obsahovat další seznam (tzv. vnořené seznamy)