Listy, krotki, słowniki, funkcje

Podobne dokumenty
Typy danych, cd. Łańcuchy znaków

Podstawy bioinformatyki 2017/18

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Kurs rozszerzony języka Python

Język Python. Język Python 1/35

Podstawy programowania w Pythonie

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Język Python (2) Język Python (2) 1/36

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Programowanie w języku Java. Kolekcje

Podstawy bioinformatyki 2017/18

I. Podstawy języka C powtórka

Wykład 4. Klasa List Kolejki Stosy Słowniki

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Tworzenie listy polega na podaniu jej elementów oddzielonych przecinkiem w nawiasach kwadratowych:

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Python! Lekcja 1 podstawy języka, typy danych

Środowisko programisty

lekcja 8a Gry komputerowe MasterMind

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Algorytmy i Struktury Danych. Anna Paszyńska

Lab 9 Podstawy Programowania

Podstawy obiektowości

Warsztaty dla nauczycieli

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Tablice. Jones Stygar na tropie zmiennych

Podstawy Programowania Podstawowa składnia języka C++

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Laboratorium kryptograficzne dla licealistów 4

Podstawy programowania. Podstawy C# Tablice

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

15. Funkcje i procedury składowane PL/SQL

Test przykładowy 2 PAI WSB Wrocław /06/2018

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Programowanie i struktury danych

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Lista, Stos, Kolejka, Tablica Asocjacyjna

Programowanie obiektowe - zadania

Python wstęp. Michał Bereta

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Algorytmy i struktury danych


Algorytmy i struktury danych

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2.

dr inż. Jarosław Forenc

Podstawy i języki programowania

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy i języki programowania

Podstawy Programowania C++

Ćwiczenie 5. Python 3: Programowanie obiektowe i dziedziczenie

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Backend Administratora

Podstawy programowania. Python wykład 6

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Algorytmy i struktury danych

Języki programowania imperatywnego

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

PHP: bloki kodu, tablice, obiekty i formularze

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Tabela wewnętrzna - definicja

7. Pętle for. Przykłady

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP

Blockly Kodowanie pomoc.

Języki i techniki programowania Ćwiczenia 2

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Powtórka algorytmów. Wprowadzenie do języka Java.

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Laboratorium kryptograficzne dla licealistów 3

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Cw.12 JAVAScript w dokumentach HTML

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

LibreOffice Calc VBA

Transkrypt:

Listy, krotki, słowniki, funkcje Listy Lista jest najbardziej elastycznym typem obiektu uporządkowanej kolekcji. Może zawierać różne typy danych - liczby, łańcuchy znaków, a nawet inne listy. Tworzy się ją następująco: warzywa = [" kalafior ", " rzodkiewka ", " brukselka "] Można też utworzyć pustą listę: pusta = [] Do poszczególnych elementów listy można się dostać przez indeks. Elementy listy są numerowane od zera. >>> warzywa [0] >>> kalafior >>> warzywa [ -2] # drugi element od konca >>> rzodkiewka Listy są typem modyfikowalnym, w związku z czym można dowolnie zmieniać ich elementy. >>> warzywa [0] = " pietruszka " >>> warzywa [0] >>> pietruszka Listy nie mają z góry ustalonej wielkości. Elementy można dodawać stosując wbudowaną metodę append(). Ilość elementów sprawdzamy funkcją len(lista) >>> cyferki = [3, 4, 1, 5, 0] >>> cyferki. append (2) 1

Podobnie jak w łańcuchach znaków można wyświetlać wycinki list. W wypadku zastosowania poniższej notacji wypisywanie rozpoczynamy od indeksu przed dwukropkiem, a kończymy na ineksie o 1 mniejszym niż ten po dwukropku. nr elementu = indeks + 1 >>> warzywa [2:] # wyswietli elementy od indeksu 2 go do ostatniego >>> warzywa [:2] # wyswietli elementy od poczatku do indeksu 1 go >>> warzywa [:] # wyswietli wszystkie elementy Chcąc poznać pozycję danego elementu korzystamy z metody index >>> warzywa. index (" rzodkiewka ") >>> 1 Chcąc wstawić element na danej pozycji korzystamy z insert(pozycja, element) >>> warzywa. insert (1, "por ") >>> warzywa >>> [ pietruszka, por, rzodkiewka, brukselka ] Aby wykonać taką samą operację dla wszystkich elementów z listy można skorzystać z pętli for: >>> for numer in liczby : >>> numer ** 2 Aby usunąć element z listy można skorzysać z polecenia: >>> del warzywa [0] lub >>> warzywa. remove (" brukselka ") Z racji tego, że jak każdy typ danych, lista jest obiektem, ma ona swoje wbudowane funkcje i metody: Funkcje : cmp ( list1, list2 ) # Porownuje elementy dwoch list len ( list ) # Zwraca dlugosc listy max ( list ) # Zwraca element o najwiekszej wartosci min ( list ) # Zwraca element o najmniejszej wartosci list ( seq ) # Konwertuje krotke ( tuple ) na liste Metody : list. append ( obj ) # Dodaje obiekt obj do listy 2

list. count ( obj ) # Zwraca liczbe wystapien obiektu obj w liscie list. extend ( seq ) # Dodaje zawartosc seq do listy ( np. inna liste lub krotke ) list. index ( obj ) # Zwraca najnizszy indeks wystapienia obj w liscie list. insert ( index, obj) # Wstawia do listy obiekt obj na pozycje o indeksie index list. pop ( obj = list [ -1]) # Usuwa i zwraca ostatni obiekt lub obj z listy list. remove ( obj ) # Usuwa obiekt obj z listy list. reverse () # Odwraca liste list. sort ([ func ]) # Sortuje elementy listy, uzywa funkcji porownania, jesli jest podana Krotki (tuple) Krotka jest ogólnie rzecz biorąc listą, której nie da się zmodyfikować. Obsługują one dowolne typy danych, zagnieżdżanie i zwykłe operacje na sekwencjach. >>> T = (1, 2, 3, 4) >>> len (T) >>> 4 Krotki można konkatenować: >>> T + (5, 6) >>> (1, 2, 3, 4, 5, 6) Można też konwertować na listę: >>> list (T) W związku z tym, że krotki są sekwencjami niezmiennymi (lub inaczej niemodyfikowalnym typem danych), posiadają mniej metod wbudowanych niż np. listy. T. index (2) # zwraca indeks pod jakim znajduje sie wartosc 2 T. count (4) # zlicza wystapienia elementu 4 w krotce W krotkach można zagnieżdżać inne sekwencje. 3

>>> U = (" mielonka ", 32542.33, (2,3,4)) >>> U [2][1] >>> 3 W praktyce krotki są używane rzadziej niż listy. Jednak ich zdecydowaną zaletą jest ich niezmienność. Słowniki Słowniki są bardzo podobne do list, z tą różnicą, że do poszczególnych elementów dostaje się za pomocą klucza zamiast indeksu. Klucz może być stringiem lub liczbą. d = { key1 : 1, key2 : 2, key3 : 3} W słownikach wystepują pary klucz - wartość. Bardzo dobrze się sprawdzają np. dla zbioru numerów telefonów, gdzie trzeba przyporządkować numer do nazwiska lub przy stronach logowania, gdzie trzeba sparować nazwy użytkowników z emailami. Do słowników można wstawiać listy. Dostęp do wartości w słowniku po kluczu odbywa się tak samo jak dostęp do wartości z listy po indeksie. d[ key1 ] # otrzymanie wartosci 1 Słowniki tak jak listy są modyfikowalne. moj_ slownik [ nowy_ klucz ] = nowa_ wartosc Elementy mogą być usuwane przy użyciu del: del moj_ slownik [ klucz ] Funkcje Funkcja jest uporządkowanym, zdolnym do wielokrotnego użycia fragmentem kodu, odpowiadającym za wykonanie pojedyńczej czynności. Dzięki funkcjom można wykonywać tę samą czynność stosując inne wartości (parametry funkcji). def wypisz_ mnie ( string ): """ Ta funkcja wypisuje podany string w konsoli """ print string return >>> zdanie = " Cos do powiedzenia " >>> wypisz_mnie ( zdanie ) # Wywolanie funkcji >>> Cos do powiedzenia 4

W tym wypadku zmienna string jest parametrem funkcji wypisz_mnie, natomiast zmienna zdanie jest jej argumentem. Parametry są nazwami zmiennych dla wartości przekazywanych w argumentach. Wszystkie argumenty w Pythonie są przekazywane przez referencję. To znaczy, że jeśli wewnątrz funkcji zostanie zmienione to, do czego odnosi się dany argument, ta zmiana będzie obowiązująca zarówno wewnątrz funkcji jak i poza nią. def changeme ( mylist ): """ Funkcja zmienia przekazana liste """ mylist. append ([1,2,3,4]) print " Values inside the function : ", mylist return # Wywolanie funkcji changeme >>> mylist = [10,20,30] >>> changeme ( mylist ) >>> print " Values outside the function : ", mylist Values inside the function : [10, 20, 30, [1, 2, 3, 4]] Values outside the function : [10, 20, 30, [1, 2, 3, 4]] Można temu zapobiec nadpisując referencję wewnątrz funkcji: # Function definition is here def changeme ( mylist ): """ Funkcja nie zmienia przekazanej listy """ mylist = [1,2,3,4] # Przypisanie nowej referencji do lokalnej zmiennej print " Values inside the function : ", mylist return # Wywolanie funkcji changeme >>> mylist = [10,20,30] >>> changeme ( mylist ) >>> print " Values outside the function : ", mylist Values inside the function : [1, 2, 3, 4] Values outside the function : [10, 20, 30] Chcąc podać nieokreśloną liczbę argumentów, można skorzystać z konstrukcji: def smallest (* args ): return min ( args ) >>> smallest (19, 29, 394, 33) 5

Argumentem funkcji może być też lista. Funkcje mogą wywoływać się nawzajem. def func_one (p): return p + 1 def func_two (p): return func_one (p) + 2 Funkcje też są rozumiane jako typy danych, mogą być zatem argumentami dla innych funkcji. Wyrażenie return zwraca wartość kończąc funkcję. Jeśli funkcja nie zwraca żadnej wartości, używa się samego return. Ćwiczenia Wykonaj zadania zapisując każde z nich osobno w pliku.py. 1. Napisz funkcję, która sprawdzi, czy podany argument jest liczbą, zwracając adekwatnie True lub False. Następnie stwórz funkcję obliczającą kwadrat podanej przez użytkownika liczby, korzystając z poprzedniej funkcji w celu sprawdzenia, czy podany argument jest liczbą. Wyświetl stosowne komunikaty. 2. Korzystając z odpowiedniego typu danych stwórz menu restauracji. Dodaj do niego 10 pozycji razem z cenami. Utwórz funkcje: wyświetlającą elementy menu, usuwającą i dodającą pozycje do menu, stosując odpowiednie argumenty. 3. Korzystając z odpowiedniego typu danych stwórz sekwencję samogłosek. Napisz funkcję, która wypisze podstawowe parametry tego zbioru: ilość elementów, ilość powtórzeń dla każdego elementu i same elementy. 4. Korzystając z odpowiedniego typu danych stwórz wykaz zwierząt w zoo. Dodaj 15 pozycji. Napisz funkcję, która argument sortuje zwierzęta alfabetycznie i w zależności od podanej flagi True/False odwraca ich kolejność. Stwórz nową sekwencję tego samego typu przechowującą nazwy zwierząt domowych i dodaj do niej pięć. Połącz oba zbiory. Napisz funkcję, która w zależności od podanego parametru wypisuje minimalną lub maksymalną liczbę w powstałej sekwencji. 5. Stwórz funkcję, która jest w stanie przyjąć dowolną ilość pojedyńczych parametrów (nie będącą listą, krotką ani słownikiem), która wypisuje ilość 6

podanych argumentów oraz ich wartość minimalną. 6*. Stwórz funkcję a przyjmującą za parametr funkcję b i wywołując ją wewnątrz siebie. 7

Źródła M. Lutz, Python - wprowadzenie, Helion, 2011 https://www.codecademy.com/courses/learn-python https://www.tutorialspoint.com/python 8