WDI – zajęcia 6

Słowniki:
Rozgrzewka (najlepiej w ipythonie):

  • Stwórz pusty słownik. Zapoznaj się z funkcjami, jakie są dla niego dostępne. Dodaj do niego następujące elementy: pod kluczem 1 wartość 3, pod kluczem 5 -> 2, a pod “a” -> 4. Usuń jeden z elementów używając metody del, a drugi używając metody pop. Przypisz na pozostały element wartość 10.
  • Sprawdź, jak działają metody keys, values, items. Której z nich odpowiada zwykła iteracja pętlą for?


Zadania:

  1. Dla pliku the_emperors_new_clothes.txt stwórz słownik, w którym kluczami będą słowa, a wartościami pozycje (tzn. numery słów w tekście), na których one wystąpiły. Użyj funkcji enumerate.
  2. Stwórz funkcję zwracającą dla zadanego napisu słownik, który pod indeksem odpowiadającym danemu słowu zawiera jego długość.
  3. Rozwiąż poprzednie zadanie używając funkcji map i zip.
  4. (★) Używając klasy defaultdict (moduł collections) stwórz funkcję zwracającą dla danego słowa słownik, który pod indeksem odpowiadającym danej literze będzie zawierał liczbę jej wystąpień.
  5. (★) Używając klasy OrderedDict  (moduł collections) wypisz (w kolejności pierwszego wystąpienia w tekście) wszystkie słowa w danym napisie oraz liczbę ich wystąpień.
  6. (★) Używając klasy Counter (moduł collections) napisz funkcję, która znajdzie 5 najczęściej występujących słów w napisie wraz z liczbami ich wystąpień.

Zbiory:
Rozgrzewka (najlepiej w ipythonie):

  • Stwórz zbiór liter z napisów “alabama” i “alaska”. Jak wygląda różnica pomiędzy jednym zbiorem a drugim (użyj operatora “-”)?
  • Zobacz jakie inne funkcje na zbiorach są dostępne w pythonie.

Zadania:

  1. Stwórz zbiór słów z pliku  the_emperors_new_clothes.txt (usuń znaki interpunkcyjne).
  2. Stwórz również zbiór słów z pliku the_bell.txt i wypisz słowa występujące w pierwszym, ale nie występujące w drugim.
  3. Znajdź słowa, które występują dokładnie w jednym z powyższych plików oraz słowa wspólne dla obu plików.
  4. Napisz funkcję unique, która dla danej listy zwróci listę zawierającą te same elementy, ale bez powtórzeń.
  5. (★) Dla danego zbioru wygeneruj jego zbiór potęgowy (zbiór wszystkich podzbiorów tego zbioru). Wynik powinien być reprezentowany jako lista.

Leave a Reply

Your email address will not be published. Required fields are marked *