Operacje na kontenerach
Download
1 / 27

Operacje na kontenerach - PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on

Operacje na kontenerach. 1) Listy i krotki. list (arg) ‏. >>> list ((5,10)) ‏ [5,10] funkcja zwraca argument jako listę. filter (funkcja, lista) ‏ zwraca wszystkie elementy listy dla których funkcja zwraca wartość true. Def JestAla (s) ‏ return s.find('ala') == -1.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Operacje na kontenerach' - zion


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Operacje na kontenerach

1) Listy i krotki

  • list (arg)‏

>>> list ((5,10))‏

[5,10]

funkcja zwraca argument jako listę

  • filter (funkcja, lista)‏

  • zwraca wszystkie elementy listy dla których funkcja zwraca wartość true


Def JestAla (s)

return s.find('ala') == -1

>>> s=['ala' , 'fala', 'python', 'ciągnik']

>>>filter(JestAla,s)‏

['python', 'ciągnik']

  • map (funkcja, lista) – zwraca rezultat wykonania funkcji dla każdego elementu listy

  • >>> import string

  • >>>s=['tomek', 'ziomek']

  • >>>map(string.capitalize,s)‏

  • >>>['Tomek', 'Ziomek']


>>> import operator

>>> reduce(operator.mul,[2,3,4,5])‏

120 # 120 = (((2*3)*4)*5)‏

Funkcja pobiera dwie pierwsze dane z listy, wykonuje na nich działanie, dalej działa na zwróconym wyniku i kolejnej zmiennej aż do wyczerpania danych.


>>> zip ([1,2], [3,4])‏

[(1,3),(2,4)]

Funkcja pobiera odpowiadające sobie elementy w sekwencjach i tworzy z nich krotki.


2) Operacje tylko dla list

  • append (obiekt), extend (obiekt)‏

Append dodaje jeden element do listy, extend dodaje do listy druga listę.

>>>lista1=['python']

>>>lista1.append('c++')‏

>>>lista1

>>>['python','c++']

>>>lista1.extend['java', 'c#']

>>>lista1

>>>['python','c++','java','c#']


Zwraca pierwszy element w liście który ma taką samą wartość jak obiekt. Jeśli nie ma takiego wyrzuca wyjątek ValueError.

  • count (obiekt)‏

  • zwraca ile elementów w liście = obiekt

  • insert (indeks, obiekt)‏

  • wstawia obiekt do listy przed miejscem podanym w parametrze 'indeks'

  • >>>miesiace=['luty', 'marzec']

  • >>>miesiace.insert(0,' maj')‏

  • >>>miesiace

  • ['maj','luty','marzec']


Znajduje pierwsze wystąpienie obiektu w liście i usuwa je.

>>>miesiace.remove('maj')‏

>>>miesiace

['luty','marzec']

  • pop(indeks)‏

  • usuwa element listy o zadanym indeksie

  • i zwraca go. Jeśli nie podano argumentu usuwa ostatni element z listy.

  • >>> miesiace.pop[0]

  • >>> 'luty'


Odwraca kolejność elementów w liście.

>>>obiad=['schabowy','udko','mielony']

>>>obiad.reverse()‏

>>>obiad

['mielony', 'udko','schabowy']

  • sort(funkcja)‏

  • sortuje elementy z listy, można podać własną funkcję sortującą.


3) Słowniki

  • tworzenie,dodawanie i zmiana wartości klucza

  • >>>obiady = {'kotlety':('schabowy,'mielony'), 'ryby':'dorsz'}

  • >>>obiady['kotlety']

  • ('schabowy,'mielony')‏

  • >>>obiady['ryby']=('mintaj','pstrąg')‏

  • Wyjątki i bezpieczne użytkowanie

  • jeśli chcemy użyć klucza, który nie istnieje w słowniku wyskoczy nam wyjątek KeyError. Dla bezpieczeństwa używajmy funkcji get(klucz) i setdefault(klucz)‏


>>>obiady.get('pierogi', 'Nie podajemy pierogów')

'Nie podajemy pierogów

setdefault() dodaje parę klucz-wartość do słownika jeśli podany klucz jeszcze nie istnieje, w przeciwnym wypadku zwraca obecną wartość dla klucza.

>>>obiady.setdefault('ryby','płotka')‏

>>>('mintaj, 'pstrag') # zwraca obecną wartość

>>>obiady.setdefault('pierogi',('ruskie','z miesem'))‏

('ruskie,'z miesem')‏

  • has_key(key) – sprawdza czy w słowniku istnieje podany klucz

  • >>>obiady.has_key('ryby')‏

  • 1

  • >>>del obiady['ryby'] #usuwa ze słownika

  • >>obiady.has_key('ryby')‏

  • 0


  • Update (słownik) – dodaje elementy z jednego słownika do drugiego

  • >>>dane={'login':'haslo'}

  • >>>obiady.update(dane)‏

  • >>>obiady

  • {'ryby':('mintaj','pstrag'), 'login':'haslo','kotlety':('schabowy','mielony')}

  • len(slownik) – zwraca liczbe elementów w słowniku

  • keys() - wyświetla listę kluczy ze słownika

  • values() - wyświetla listę wartości ze słownika

  • items() - wyświetla klucze i wartości w postaci krotek

  • clear() - kasuje wszystko



TABLICE do drugiego

W odróżnieniu od list i krotek tablice muszą zawierać elementy tego samego typu:

>>> import array

>>> z = array.array ('B') # tworzy tablice bajtów

>>> z.append(5)‏

>>>z[0]

5

>>> q=array.array('i', [5,10]) # i – unsigned int

>>> q

array('i',[5, 10])‏

Kody typów dla tablic – Python Bible str.69


  • KONWERSJE MIĘDZY TYPAMI do drugiego

  • tolist() - konwertuje tablicę do listy

  • >>> q.tolist()‏

  • [5,10]

  • fromlist(lista) – dodaje elementy z listy na koniec tablicy

  • >>> q.fromlist([2,4])‏

  • >>> q

  • array ('i', [5,10,2,4])‏

  • jeśli któryś z obiektów w liście jest innego typu niż typ tablicy to fromlist() nie dodaje żadnego elementu.



  • tofile(file) - zapisuje tablice do pliku do drugiego

  • >>> z=array.array('h', [10,1000,500])‏

  • >>> f=open('myarray', 'wb')‏

  • >>>z.tofile(f)‏

  • >>f.close()‏

  • fromfile(file,liczba) - czyta określoną liczbę elementów z pliku i dodaje do tablicy.

  • >>>z.fromfile(open('myarray','rb'),3)‏

  • >>>z

  • array('h', [10, 1000, 500, 10, 1000, 500])‏


Funkcje omówione wcześniej dla list: do drugiego

len,append,extend,count,index,insert,pop,remove, reverse działają również dla tablic.


WEJŚCIE I WYJŚCIE do drugiego

>>> print ''Witam''

Witam

def drukuj()‏

print ''co tam'', # dzięki ',' nie przejdzie do nast.linii

print ''słychać?”

>>drukuj()‏

co tam słychać?


def drukuj() do drugiego‏

print ''co tam'',

sys.std.out.softspace=0 # brak spacji między # wydrukami

print ''słychać?”

>>drukuj()‏

co tamsłychać?




  • OPERACJE NA PLIKACH wejście jest poprawnym wyrażeniem Pythona i zwraca oszacowaną wartość.

  • Otwieranie

  • >>> f= open('foo.txt', 'wt',1) # otwiera plik do zapisu

  • >>> f

  • <open file 'foo.txt', mode 'wt' at 010C0488>

  • Tryby otwarcia pliku:

  • r – do odczytu

  • w- do zapisu, tworzy nowy plik o podanej nazwie, jeśli taki istniał to niszczy go i tworzy nowy

  • a – dopisuje na koniec pliku, tworzy nowy jeśli nie istnieje

  • r+ - do odczytu i zapisu – plik musi istnieć

  • w+ - tworzy nowy plik do zapisu i odczytu, niszczy stary

  • a+ - dopisywanie i czytanie, tworzy plik jeśli

  • nie istnieje


Możemy również dodać: wejście jest poprawnym wyrażeniem Pythona i zwraca oszacowaną wartość.

t – tryb tekstowy

b – tryb binarny

Jeśli plik nie istnieje lub nie masz do niego praw dostępu funkcja open() wyrzuci wyjątek IOError.

>>>f= open('foo.txt', 'wt')‏

>>> f.mode() # zwraca tryb otwarcia

'wt'

>>> f.closed() # boolean – czy plik zamknięty

0

>>> f.name() # zwraca nazwe pliku

'foo.txt'

>>> f.isatty() # czy plik jest przyłączony do terminala

0

>>>f.fileno() # deskryptor pliku

0


  • tell() - zwraca bieżącą pozycję w pliku wejście jest poprawnym wyrażeniem Pythona i zwraca oszacowaną wartość.

  • seek(indeks, skad) – zmienia bieżącą pozycję w pliku na pozycję podaną w zmiennej 'indeks'. Argument 'skad' określa jak funkcja ma interpretować pierwszy parametr:

  • 0- szukaj od początku pliku (domyślnie)‏

  • 1- szukaj od bieżącej pozycji w pliku

  • 2- szukaj od końca


  • >>>f=open('plik.txt',w+) wejście jest poprawnym wyrażeniem Pythona i zwraca oszacowaną wartość. ‏

  • >>>f.write('brain')‏

  • >>>f.seek(-4,2)‏

  • >>>f.read()‏

  • 'rain'

  • >>>f.seek(2)‏

  • >>>f.seek(1,1)‏

  • >>>f.read()‏

  • 'in'

  • write(str) – zapisuje stringa do pliku be znaku nowej linii

  • writelines(lista) - j.w tylko w argumencie przyjmuje listę stringów.


  • >>>f=open('plik.txt',w+) wejście jest poprawnym wyrażeniem Pythona i zwraca oszacowaną wartość. ‏

  • >>>f.write('python \n')‏

  • >>>lines=['jest','fajny!']

  • >>>f.writelines(lines)‏

  • >>>f.seek(0)‏

  • >>>print f.read()‏

  • python

  • jest fajny!

  • truncate([pozycja]) – usuwa napis od podanej zmiennej, jeśli wywołana bez argumentu to usunie od bieżacej pozycji.

  • >>>f.seek(5)‏

  • >>>f.truncate()‏

  • >>>f.seek(0)‏

  • >>>print f.read()‏

  • pytho