Sunteți pe pagina 1din 5

Laborator 4

Obiective:
1. Tuple
2. Liste
3. Dicționare

Verde – Exemple Roșu- Exerciții

A Tuple - Exerciții (ipython):


Încercați mental să aflați rezultatul (tipul de date și valoarea printată) fără să rulați și
apoi verificați răspunsul:

x = (1, 2, (3, ' Ion ', 4), ' Hi ' )

1. x[0]
2. x[2]
3. x[-1]
4. x[2][2]
5. x[2][-1]
6. x[-1][-1]
7. x[-1][2]
8. x[0:1]
9. x[0:-1]
10. len(x)
11. 2 in x
12. 3 in x
13. x[0] = 8

14 (spyder)
Folosind bucla for scrieți funcția care afișează toate elementele unei tuple și indicele lor.
Exemplu:
In[]: t=('mere', 'pere', 5, (11,22))
In[]: elemT(t)
('mere', 0)
('pere', 1)
(5, 2)
((11,22), 3)
15. (spyder)
Folosind while scrieți o procedură numită oddT, care primeste o tupla ca intrare, și
returnează o noua tupla ca ieșire, afișând elementele tuplei de intrare din 2 in 2,
începând cu primul.

Exemplu:
In[]: tt=('Eu', 'nu' 'am', 'nicio', 'restanta!')
In[]: oddT(tt)
('Eu', 'am', 'restanță!' )

16. (spyder)
Aceeași problemă ca la 14, dar folosind tuple slicing.

B Liste - Exercitii(ipython) :
Încercați mental să aflați rezultatul (tipul de date și valoarea printată) fără să rulați și
apoi verificați răspunsul:

x = [11, 22, (33, ' Maria ', 44), ' Hi ' ]

1. x[0]
2. x[2]
3. x[-1]
4. x[2][2]
5. x[0:1]
6. 2 in x
7. 3 in x
8. x[0] = 88
9. fructe = [" mere ", " banane ", " cirese ", " caise ", " prune "]
fructe [1:3] = [" mure ", " capsuni ", " afine "]
print ( fructe )
10. fructe = [" mere ", " banane "]
fructe += " cirese "
print (fructe )
11. fructe = [" mere ", " banane "]
fructe += [" cirese "]
print(fructe )
12. fructe = [" mere ", " banane ", " cirese ", " caise "]
fructe . append(‘prune’)
fructe . extend ( [" ra ", " ss ", " blue "] )
fructe . remove( "banane “)
13. fructe = [" mere ", " banane ", " cirese ", " caise "]
print ( fructe . pop () )
print ( fructe . pop (1) )
del fructe [2]
14.
num = [ 1, 2, [3, 4] ]
cp = num [:]
num [0] = 5
num [2][0] = 6
print ( num )
print ( cp )

15. (spyder)
def pp():
ss = []
for i in range( 1, 26 ):
ss . append ( i * i )
return ss

s1 = pp()
print ( s1 )

16. # list comprehensions – afisez pătratele nr < 26


s2 = [ x * x for x in range( 1, 26 ) ]
print ( s2 )

17. list comprehensions – elimin pătratele care se termină in 5


s3 = [ x * x for x in range( 1, 26 ) if x %10 != 5]
print ( s3 )

18.(ipython) Cititi help-ul pentru funcțiile split() si join()


s = "I <3 cs"
list(s)
s.split('<')
L = ['a', 'b', 'c']
' '.join(L)
'_'.join(L)

C Dicționare - Exerciții (ipython):


Încercați mental să aflați rezultatul (tipul de date și valoarea printată) fără să rulați și
apoi verificați răspunsul:

animale = {'a': 'antilopa', 'b': 'babuin, 'c': 'caine'}

1. animale['d'] = 'delfin'
2.animale[‘c’]
3.animale[‘delfin’]
4.len(animale)
5.animale[‘c’] = ‘caprioara’
len(animale[‘c’])
6. babuin in animale
7. delfin in animale.values()
8. animale.keys()
9. del animale[‘b’]
len(animale)
10. animale.values()

11 funcțiile keys(), values(), items() - returnează un iterator. Iteratorul l-am convertit la


lista, prin aplicarea funcției list

fru = { " mere ":3, " pere ":5, " nuci":50 }


print ( list( fru. keys () ) )
print ( list( fru. values () ) )
print ( list( fru . items () ) )

12. Diferența între alias și metoda copy()


fr = { " masini ":3, " biciclete ":50 }
fralias = fr
frcopy = fr . copy ()
print ( id( fr ) )
print ( id( fralias ) )
print ( id( frcopy ) )

13. Metoda get () poate fi utilizată pentru a obține o valoare dintr-un dicționar, chiar și
atunci când nu știu dacă există cheia pentru care se caută valoarea.

frbk = { " mere ":3, " banane ":5, " cirese ":50 , "mango ":2 }
mere = frbk . get ( " mere " )
if mere :
print ( " am mere in cos " )
else:
print ( "nu am mere in cos ")
prune = frbk . get ( " prune " )
if prune :
print ( " am prune in cos " )
else:
print ( "nu am prune in cos ")
banane = frbk . get ( " banane ", 0 )
print ( " nr de banane in cos :", banane )
mure = frbk . get ( " mure ", 0 )
print ( " nr de mure in cos :", mure )
14.
fructe = { 'a': ['alune'], 'b': ['banane'], 'c': ['caise']}
fructe['p'] = ['prune']
fructe['p'].append('pere')
fructe['p'].append('pepene')

Scriți o funcție, numită Total care primeste ca argument un dicționar si returnează suma
numărului de valori din dicționar.
De exemplu: print(Total(fructe)) întoarce răspunsul 6

15
fructe = { 'a': ['alune'], 'b': ['banane'], 'c': ['caise']}
fructe['p'] = ['prune']
fructe['p'].append('pere')
fructe['p'].append('pepene')

Scrieți o funcție, numită Mare, care primește ca argument un dicționar și returnează


cheia corespunzătoare intrării cu cel mai mare număr de valori asociate acesteia. Dacă
există mai mult de o astfel de intrare, întoarceți oricare dintre chei.
De exemplu: Mare (fructe) întoarce 'p'