• Nie Znaleziono Wyników

Kolekcje, listy, iteratory, generatory

N/A
N/A
Protected

Academic year: 2021

Share "Kolekcje, listy, iteratory, generatory"

Copied!
78
0
0

Pełen tekst

(1)

Kurs rozszerzony języka Python

Wykład 3.

Marcin Młotkowski

(2)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje Listy i funkcje Efektywność list Koniec

(3)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Wiadomość z ostatniej chwili

(4)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje Listy i funkcje Efektywność list Koniec

(5)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Import nazw

importrandom print(random.randint(1, 10))

(6)

Import modułów

Kolekcje Napisy (stringi) Listy Funkcje

Import wybranych funkcji

fromrandomimportrandom, randint

print(random.random()) print(random())

fromrandomimport*

Nazw funkcji nie poprzedzamy nazwą modułu.

(7)

Import modułów

Kolekcje Napisy (stringi) Listy Funkcje

Import wybranych funkcji

fromrandomimportrandom, randint

print(random.random()) print(random())

fromrandomimport*

(8)

Import modułów

Kolekcje Napisy (stringi) Listy Funkcje

Jak stworzyć własny moduł

random.py

defrandom():

...

defrandint(a, b): ...

(9)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Pakiety

Katalog pakiet: init .py

a.py# tu jest funkcja foo()

b.py# tu jest funkcja bar() importpakiet

frompakiet importa

(10)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje Listy i funkcje Efektywność list Koniec

(11)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przykłady kolekcji

Listy: [12,3]

Napisy: ”abc”,’def’,’Zażółć gęślą żółtą jaźń’

Krotki: (1, ’jeden’, (1, 2+3j, 0x4)) Słowniki

(12)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Krotki

brown = 165, 42, 42 NavyBlue = (0,0,128)

htmlColor = {’turquoise’: (64,224,208),’NavyBlue’: NavyBlue }

r, g, b = htmlColor[’NavyBlue’]

(13)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przypomnienie

podstawienie ( a, b ) = ( 1, 2 )

(14)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przypomnienie

podstawienie (a, b)=(1, 2)

(15)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Kolekcje: operator zawierania

in

’bc’in ’abcd’

4 notin [2, 3, 5, 7, 11]

(16)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Kolekcje: łączenie kolekcji

+

>>> [’jeden’, 2, 3.0 ] +[ 0x4, 5 ] [’jeden’, 2, 3.0, 4, 5]

>>> (’jeden’, 2, 3.0) + (0x4, 5) (’jeden’, 2, 3.0, 4, 5)

(17)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Rozmiar kolekcji

len len( [’jeden’, 2, 3.0] )

len( {’jeden’ : 1,’dwa’: 2 } ) len( (1, 2, 3) )

(18)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(19)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(20)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(21)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(22)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(23)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Odwołania do elementów kolekcji

[1, 2, 3][2] = 3 ’abcd’[1:3] =’bc’ (1, 2, 3)[1:] = (2, 3) (1,2,3)[:1] = (1, ) ’Python’[:-1] =’Pytho’ ’Python’[-1:] =’Python’[-1] = ’n’

(24)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Slicing

>>>’informatyka’[::3] ’ioak’

(25)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przetwarzanie kolekcji — iteratory

x = [1,2,3] y = [4,5,6] prod = 0

for iin range(len(x)): prod += x[i] * y[i]

(26)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przetwarzanie list

x = [1,2,3] y = [4,5,6] prod = 0 for i, vin enumerate(x): prod += v * y[i] print(prod)

(27)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Przetwarzanie list, inne rozwiązanie

x = [1,2,3] y = [4,5,6] prod = 0

for a, bin zip(x, y): prod += a * b print(prod)

(28)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Wariacje nt. słowników

Przetwarzanie słowników

dict = {’uno’ : 1,’duo’ : 2,’tre’: 3 }

for key, valin dict.items(): print(key,”=”, val)

Jeszcze inaczej

for keyin dict.items(): print(key,”=”, dict[key])

(29)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Rodzaje kolekcji Przetwarzanie kolekcji

Wariacje nt. słowników

Przetwarzanie słowników

dict = {’uno’ : 1,’duo’ : 2,’tre’: 3 }

for key, valin dict.items(): print(key,”=”, val) Jeszcze inaczej

(30)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje Listy i funkcje Efektywność list Koniec

(31)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Stałe napisowe

Stałe ’Ala ma kota’ ”Ala ma kota”

Stringi w unicode (Python 2) u”Zażółć żółtą jaźń” Unicode (Python 2.*) len(u“żółty”) == 5 len(“żółty”) == 8 Długie napisy “““To jest wielolinijkowy string”””

(32)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Stałe napisowe

Stałe ’Ala ma kota’ ”Ala ma kota”

Stringi w unicode (Python 2) u”Zażółć żółtą jaźń” Unicode (Python 2.*) len(u“żółty”) == 5 len(“żółty”) == 8 Długie napisy “““To jest wielolinijkowy string”””

(33)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Stałe napisowe

Stałe ’Ala ma kota’ ”Ala ma kota”

Stringi w unicode (Python 2) u”Zażółć żółtą jaźń” Unicode (Python 2.*) len(u“żółty”) == 5 len(“żółty”) == 8 Długie napisy “““To jest wielolinijkowy string”””

(34)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Stałe napisowe

Stałe ’Ala ma kota’ ”Ala ma kota”

Stringi w unicode (Python 2) u”Zażółć żółtą jaźń” Unicode (Python 2.*) len(u“żółty”) == 5 len(“żółty”) == 8 Długie napisy “““To jest wielolinijkowy string”””

(35)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Napisy w Pythonie 3.*

(36)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Stringi

Stringi są kolekcjami ’raw’ strings: r’abcd\n’

Kontynuacja napisu: “To jest bardzo\n\ długi tekst\n”

Mnóstwo funkcji bibliotecznych

Stringi są niemutowalne, tj. ’abc’[1] = ’d’

(37)

Import modułów Kolekcje

Napisy (stringi)

Listy Funkcje

Nowe typy ”napisowe” w Pythonie 3

Niemutowalne ciągi bajtów b”byte”

bytes([34,56,50,40])

Mutowalne ciągi bajtów bytearray(b”byte”) bytearray([34,56,50,40])

(38)

Import modułów Kolekcje

Napisy (stringi)

Listy Funkcje

Nowe typy ”napisowe” w Pythonie 3

Niemutowalne ciągi bajtów b”byte”

bytes([34,56,50,40]) Mutowalne ciągi bajtów bytearray(b”byte”) bytearray([34,56,50,40])

(39)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Formatowanie stringów

Operator % (Python 2.*)

print”%i + %i = %i\n”% (2, 2, 2+2)

dict = {’dwa’ : 2,’cztery’: 4 }

print”%(dwa)s + %(dwa)s = %(cztery)s\n”% dict

Bardziej pytonicznie

print(”{0} + {1} = {2}\n”.format(2, 2, 2+2))

print(”{} + {} = {}\n”.format(2, 2, 2+2))

(40)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Formatowanie stringów

Operator % (Python 2.*)

print”%i + %i = %i\n”% (2, 2, 2+2)

dict = {’dwa’ : 2,’cztery’: 4 }

print”%(dwa)s + %(dwa)s = %(cztery)s\n”% dict

Bardziej pytonicznie

print(”{0} + {1} = {2}\n”.format(2, 2, 2+2))

print(”{} + {} = {}\n”.format(2, 2, 2+2))

print (”{dwa} + {dwa} = {cztery}\n”.format(dwa=2, cztery=4))

(41)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

F-strings (Python 3.6)

dzien =’środę’ godz =’12:15’

print(f”W {dzien} o {godz} jest wykład z Pythona”)

(42)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

F-strings (Python 3.6)

dzien =’środę’ godz =’12:15’

print(f”W {dzien} o {godz} jest wykład z Pythona”)

”W środę o 12:15 jest wykład z Pythona”

(43)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje

(44)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Operacje na listach

Wymiana elementów lista = [1,2,3] lista[1] = 5 # [1, 5, 3] lista[1:] = [2,3,4] # [1,2,3,4]

(45)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Zamiana podlisty

lista[zakres] = innaLista

0 1 . . . k k+1 k+2 k+3 . . . n-2 n-1

(46)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Zamiana podlisty

Przykłady lista = [0,1,2,3]

lista[1:3] = [”jeden”] # [0,’jeden’, 3]

lista[1:1] = [1] # [0, 1,’jeden’, 3] lista[2:3] = [2] # [0, 1, 2, 3] Przykład ze slicingiem lista = [0, 1, 2, 3] lista[::2] = [4, 5] >>> [4, 1, 5, 3]

(47)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Zamiana podlisty

Przykłady lista = [0,1,2,3]

lista[1:3] = [”jeden”] # [0,’jeden’, 3]

lista[1:1] = [1] # [0, 1,’jeden’, 3]

lista[2:3] = [2] # [0, 1, 2, 3]

Przykład ze slicingiem lista = [0, 1, 2, 3]

(48)

Import modułów Kolekcje Napisy (stringi)

Listy

Funkcje

Dodawanie i usuwanie elementów

Przykłady lista = [0, 1, 2, 3] lista[ len(lista): ] = [4, 5, 6] >>> [0, 1, 2, 3, 4, 5, 6] lista = [0, 1, 2, 3, 4, 5] lista[4:6] = [] >>> [0, 1, 2, 3]

(49)

Import modułów Kolekcje Napisy (stringi)

Listy

Funkcje

Dodawanie i usuwanie elementów

Przykłady lista = [0, 1, 2, 3] lista[ len(lista): ] = [4, 5, 6] >>> [0, 1, 2, 3, 4, 5, 6] lista = [0, 1, 2, 3, 4, 5] lista[4:6] = [] >>> [0, 1, 2, 3]

(50)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Instrukcja

del

Przykłady

lista = [’żółty’,’zielony’,’czerwony’,’niebieski’]

dellista[3]

>>> [’żółty’,’zielony’,’czerwony’]

dellista[1:] >>> [’żółty’]

(51)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Instrukcja

del

Przykłady

lista = [’żółty’,’zielony’,’czerwony’,’niebieski’]

dellista[3]

>>> [’żółty’,’zielony’,’czerwony’]

dellista[1:] >>> [’żółty’]

(52)

Import modułów Kolekcje Napisy (stringi)

Listy

Funkcje

del

dla słowników

Przykład

htmlCol = {’NavyBlue’: (0,0,128), ’turquoise’: (64,224,208) }

delhtmlCol[’turquoise’]

(53)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Operacje na listach

Inne operacje

append, extend, insert, remove, pop, index, count, sort, reverse

Przykłady

lista = [0, 1, 2, 3]

lista.reverse() #Nie zwraca wyniku

Odwracanie listy: zwrócenie wyniku lista = [0, 1, 2, 3]

reversed(lista)a #zwraca wynik

a

(54)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Operacje na listach

Inne operacje

append, extend, insert, remove, pop, index, count, sort, reverse Przykłady

lista = [0, 1, 2, 3]

lista.reverse() #Nie zwraca wyniku

Odwracanie listy: zwrócenie wyniku lista = [0, 1, 2, 3]

reversed(lista)a #zwraca wynik

a

a właściwie list(reversed(lista))

(55)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje

Operacje na listach

Inne operacje

append, extend, insert, remove, pop, index, count, sort, reverse Przykłady

lista = [0, 1, 2, 3]

lista.reverse() #Nie zwraca wyniku

Odwracanie listy: zwrócenie wyniku lista = [0, 1, 2, 3]

(56)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Plan wykładu

1 Import modułów 2 Kolekcje Rodzaje kolekcji Przetwarzanie kolekcji 3 Napisy (stringi) 4 Listy 5 Funkcje Listy i funkcje Efektywność list Koniec

(57)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Funkcje

Przykład użycia funkcji

def calka(f, a, b): krok, suma, x = .1, 0, a whilex + krok < b: suma += f(x)*krok x += krok return suma

(58)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Funkcje, cd

Inne przykłady

def square(n): return n*n

def double(n): return2 * n

funList = [ square, double ]

for fin funList:

print(f(10))

(59)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Lambda funkcje

double =lambdax: 2*x square =lambdax: x*x

funList = [ double, square ]

(60)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Lambda funkcje

double =lambdax: 2*x square =lambdax: x*x

funList = [ double, square ]

print(calka(square, 0, 10))

(61)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Lambda funkcje

double =lambdax: 2*x square =lambdax: x*x

funList = [ double, square ]

(62)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Lambda funkcje, cd

funList = [lambda x: 2*x,lambdax: x*x ]

print(calka(lambdax: x*x, 0, 10))

(63)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Dwuargumentowe funkcje lambda

(64)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): return n % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0)) W przykładach tych w Pythonie 3 lepiej jest:

print(list(filter(fun, lista)))

print(list(map(lambdax: 2*x, lista)))

print(list(reduce(lambdax, y: x + y, lista, 0)))

(65)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): returnn % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0)) W przykładach tych w Pythonie 3 lepiej jest:

print(list(filter(fun, lista)))

print(list(map(lambdax: 2*x, lista)))

(66)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): returnn % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0)) W przykładach tych w Pythonie 3 lepiej jest:

print(list(filter(fun, lista)))

print(list(map(lambdax: 2*x, lista)))

print(list(reduce(lambdax, y: x + y, lista, 0)))

(67)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): returnn % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0)) W przykładach tych w Pythonie 3 lepiej jest:

print(list(filter(fun, lista)))

print(list(map(lambdax: 2*x, lista)))

(68)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): returnn % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0))

W przykładach tych w Pythonie 3 lepiej jest:

print(list(filter(fun, lista)))

print(list(map(lambdax: 2*x, lista)))

print(list(reduce(lambdax, y: x + y, lista, 0)))

(69)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Operacje na listach

Stałe lista = range(100)

def fun(n): returnn % 2 == 0

print(filter(fun, lista))

print(map(lambda x: 2*x, lista))

print(reduce(lambda x, y: x + y, lista, 0)) W przykładach tych w Pythonie 3 lepiej jest:

(70)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane

Przykłady lista = range(10) [ 2 * xfor xin lista ] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] [ (x, x*x*x)for xin lista if x % 3 == 0 ] [(0, 0), (3, 27), (6, 216), (9, 729)]

(71)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane

Przykłady lista = range(10) [ 2 * xfor xin lista ] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] [ (x, x*x*x)for xin lista if x % 3 == 0 ] [(0, 0), (3, 27), (6, 216), (9, 729)]

(72)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane

Przykłady lista = range(10) [ 2 * xfor xin lista ] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] [ (x, x*x*x)for xin lista if x % 3 == 0 ] [(0, 0), (3, 27), (6, 216), (9, 729)]

(73)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane

Przykłady lista = range(10) [ 2 * xfor xin lista ] [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] [ (x, x*x*x)for xin lista if x % 3 == 0 ]

(74)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane, dalsze przykłady

Przetwarzanie list stringów

lista = [”mOnty”,”pyTHon’s”,”FlyinG”,”circus”]

lista = [ e[0].upper() + e[1:].lower()for e in lista ]

(75)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane, dalsze przykłady

Przetwarzanie list stringów

lista = [”mOnty”,”pyTHon’s”,”FlyinG”,”circus”]

(76)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Listy składane zagnieżdżone

Talia kart

kolory = [’Kier’,’Karo’,’Trefl’,’Pik’]

figury = [’K’,’D’,’W’] + list(range(2, 11)) + [’A’] [ (kolor, fig)for kolorin kolory for figin figury ]))

(77)

Import modułów Kolekcje Napisy (stringi) Listy Funkcje Listy i funkcje Efektywność list Koniec

Uzupełnienie — listy

Implementacja list Wektor wskaźników Złożoność operacji Czas dostępu: O(1)

Wstawianie/usuwanie elementów:

na końcu: zamortyzowany czas O(1) poza tym: O(n)

(78)

Cytaty

Powiązane dokumenty

Sixty women read a story, depending on the condition, and answered questions about their temporal self-esteem (Heatherton and Polivy, 1991). Temporal self-esteem refers to a

Synopsis To study the potential role of low energy secondary electrons in focused electron beam induced deposition.. (FEBID) we have studied FEBID using

Dziekoński Stanisław, ks. Kazimierz Misiaszek, Koncepcja nauczania religii katolickiej w publicznej szkole włoskiej po Konkordacie z 1984 roku.. — Wojciech Cichosz,

Pierwszy fragment dotyczy łaocucha znajdującego się przed pierwszym wystąpieniem separatora (jest on pierwszym elementem zwracanej listy), a drugi fragment zawiera dalszy

Ufam, że dotychczasowe prace jak też i nowe, które ukażą się w przyszłości na łamach „Naszej Przeszłości” , przyczynią się w wysokim stopniu do

[r]

1) Przed użyciem klawisza pamięci trzeba ją WYZEROWAĆ! Za to punkty nie były odejmowane na kartkówce, ale to najważniejsza czynność w każdej procedurze używającej

Porównanie stê¿eñ dwutlenku azotu pomierzonych za pomoc¹ bezobs³ugowej stacji monitoruj¹cej oraz zarejestrowanych na wybranej stacji pomiarowej Fundacji ARMAAG.. ruj¹cej, a tym