]
In [9]: from importlib import reload
In [10]: reload(lezione08)
Out[10]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [11]: lezione08.cerca_lineare(lezione08.agenda, 'nome', 'Trudy')
Out[11]:
{'nome': 'Trudy',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'}
In [12]: lezione08.cerca_lineare(lezione08.agenda, 'città', 'Roma')
In [13]: lezione08.cerca_lineare(lezione08.agenda, 'città', 'Paperopoli')
Out[13]:
{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'}
In [14]: lezione08.cerca_multicolonna_lineare(lezione08.agenda, {'città': 'Paperopoli'})
Traceback (most recent call last):
File "/tmp/ipykernel_45067/659327498.py", line 1, in <module>
lezione08.cerca_multicolonna_lineare(lezione08.agenda, {'città': 'Paperopoli'})
File "/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py", line 53, in cerca_multicolonna_lineare
if corrisponde_alla_query(record, query):
File "/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py", line 72, in corrisponde_alla_query
for colonna, valore in query.item():
AttributeError: 'dict' object has no attribute 'item'
In [15]: reload(lezione08)
Out[15]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [16]: lezione08.cerca_multicolonna_lineare(lezione08.agenda, {'città': 'Paperopoli'})
Out[16]:
[{'nome': 'Pietro',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Trudy',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Topolino',
'cognome': 'Mouse',
'telefono': '555-12345',
'indirizzo': 'via degli Investigatori 1',
'città': 'Topolinia'},
{'nome': 'Minnie',
'cognome': 'Mouse',
'telefono': '555-54321',
'indirizzo': 'via di M.me Curie 1',
'città': 'Topolinia'},
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'}]
In [17]: reload(lezione08)
Out[17]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [18]: lezione08.cerca_multicolonna_lineare(lezione08.agenda, {'città': 'Paperopoli'})
Out[18]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'}]
In [19]: lezione08.cerca_multicolonna_lineare(lezione08.agenda, {'città': 'Paperopoli', 'telefono': '555-99999'})
Out[19]:
[{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'}]
In [20]: reload(lezione08)
Out[20]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [21]: lezione08.cerca_multicolonna_lineare_LC(lezione08.agenda, {'città': 'Paperopoli', 'telefono': '555-99999'})
Out[21]:
[{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'}]
In [22]: lezione08.cerca_multicolonna_lineare_LC(lezione08.agenda, {'città': 'Paperopoli'})
Out[22]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'}]
In [23]: lezione08.cerca_multicolonna_lineare_filter(lezione08.agenda, {'città': 'Paperopoli', 'telefono': '555-99999'})
Out[23]: <filter at 0x7f53cc2f6b80>
In [24]: reload(lezione08)
Out[24]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [25]: lezione08.cerca_multicolonna_lineare_filter(lezione08.agenda, {'città': 'Paperopoli', 'telefono': '555-99999'})
Out[25]:
[{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'}]
In [26]: lezione08.cerca_multicolonna_lineare_filter(lezione08.agenda, {'città': 'Paperopoli'})
Out[26]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'}]
In [27]: reload(lezione08)
Out[27]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [28]: lezione08.cerca_multicolonna_lineare_lambda(lezione08.agenda, {'città': 'Paperopoli'})
Out[28]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'}]
In [29]: dict.items?
Docstring: D.items() -> a set-like object providing a view on D's items
Type: method_descriptor
In [30]: lezione08.agenda
Out[30]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'},
{'nome': 'Pietro',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Trudy',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Topolino',
'cognome': 'Mouse',
'telefono': '555-12345',
'indirizzo': 'via degli Investigatori 1',
'città': 'Topolinia'},
{'nome': 'Minnie',
'cognome': 'Mouse',
'telefono': '555-54321',
'indirizzo': 'via di M.me Curie 1',
'città': 'Topolinia'},
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'}]
In [31]: R = {'nome': 'Pippo',
...: 'cognome': "de' Pippis",
...: 'telefono': '555-33333',
...: 'indirizzo': 'via dei Pioppi 1',
...: 'città': 'Topolinia'}
In [32]: list(R.items())
Out[32]:
[('nome', 'Pippo'),
('cognome', "de' Pippis"),
('telefono', '555-33333'),
('indirizzo', 'via dei Pioppi 1'),
('città', 'Topolinia')]
In [33]: for chiave,valore in R.items():
...: print(chiave, valore)
...:
Output from spyder call 'get_cwd':
Output from spyder call 'get_cwd':
Output from spyder call 'get_cwd':
nome Pippo
cognome de' Pippis
telefono 555-33333
indirizzo via dei Pioppi 1
città Topolinia
In [34]: R
Out[34]:
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'}
In [35]: R['nome']
Out[35]: 'Pippo'
In [36]: R['fjfh']
Traceback (most recent call last):
File "/tmp/ipykernel_45067/733170347.py", line 1, in <module>
R['fjfh']
KeyError: 'fjfh'
In [37]: R['città']
Out[37]: 'Topolinia'
In [38]: ',jehk' in R
Out[38]: False
In [39]: 'città' in R
Out[39]: True
In [40]: 'Topolinia' in R.values()
Out[40]: True
In [41]: R
Out[41]:
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'}
In [42]: 'cognome' in R.keys()
Out[42]: True
In [43]: 'cognome' in R
Out[43]: True
In [44]: 'cognome' in R.values()
Out[44]: False
In [45]: '555-33333' in R
Out[45]: False
In [46]: '555-33333' in R.values()
Out[46]: True
In [47]: A = 45
In [48]: B = 35 if A > 30 else 47
In [49]: B
Out[49]: 35
In [50]: A = 22
In [51]: B = 35 if A > 30 else 47
In [52]: B
Out[52]: 47
In [53]: if A > 30:
...: B = 35
...: else:
...: B = 47
...:
In [54]: B
Out[54]: 47
In [55]: reload(lezione08)
Out[55]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [56]: lezione08.ordina_rispetto_a_colonna(lezione08.agenda, 'città')
Out[56]:
[{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'},
{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'},
{'nome': 'Pietro',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Trudy',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Topolino',
'cognome': 'Mouse',
'telefono': '555-12345',
'indirizzo': 'via degli Investigatori 1',
'città': 'Topolinia'},
{'nome': 'Minnie',
'cognome': 'Mouse',
'telefono': '555-54321',
'indirizzo': 'via di M.me Curie 1',
'città': 'Topolinia'},
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'}]
In [57]: lezione08.ordina_rispetto_a_colonna(lezione08.agenda, 'telefono')
Out[57]:
[{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'},
{'nome': 'Topolino',
'cognome': 'Mouse',
'telefono': '555-12345',
'indirizzo': 'via degli Investigatori 1',
'città': 'Topolinia'},
{'nome': 'Paperino',
'cognome': 'Paolino',
'telefono': '555-1313',
'indirizzo': 'via dei Peri 113',
'città': 'Paperopoli'},
{'nome': 'Gastone',
'cognome': 'Paperone',
'telefono': '555-1717',
'indirizzo': 'via dei Baobab 42',
'città': 'Paperopoli'},
{'nome': 'Pippo',
'cognome': "de' Pippis",
'telefono': '555-33333',
'indirizzo': 'via dei Pioppi 1',
'città': 'Topolinia'},
{'nome': 'Minnie',
'cognome': 'Mouse',
'telefono': '555-54321',
'indirizzo': 'via di M.me Curie 1',
'città': 'Topolinia'},
{'nome': 'Pietro',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Trudy',
'cognome': 'Gambadilegno',
'telefono': '555-66666',
'indirizzo': 'via dei Ladri 13',
'città': 'Topolinia'},
{'nome': 'Paperon',
'cognome': "de' Paperoni",
'telefono': '555-99999',
'indirizzo': 'colle Papero 1',
'città': 'Paperopoli'}]
In [58]: reload(lezione08)
Out[58]: <module 'lezione08' from '/home/andrea/Documents/Uni/Didattica/Prog1/2021-22/Lezioni/lezione08-21-10-21/lezione08.py'>
In [59]: lezione08.crea_indice(lezione08.agenda, 'cognome')
Out[59]:
{'Paolino': [0],
'Paperone': [1],
"de' Paperoni": [2],
'Pitagorico': [3],
'Gambadilegno': [4, 5],
'Mouse': [6, 7],
"de' Pippis": [8]}
In [60]: I = _
In [61]: I['Pitagorico']
Out[61]: [3]
In [62]: [ lezione08.agenda[pos] for pos in I['Pitagorico'] ]
Out[62]:
[{'nome': 'Archimede',
'cognome': 'Pitagorico',
'telefono': '555-11235',
'indirizzo': 'colle degli Inventori 1',
'città': 'Paperopoli'}]
In [63]: [ lezione08.agenda[pos] for pos in I['Mouse'] ]
Out[63]:
[{'nome': 'Topolino',
'cognome': 'Mouse',
'telefono': '555-12345',
'indirizzo': 'via degli Investigatori 1',
'città': 'Topolinia'},
{'nome': 'Minnie',
'cognome': 'Mouse',
'telefono': '555-54321',
'indirizzo': 'via di M.me Curie 1',
'città': 'Topolinia'}]
In [64]: