I have the following dictionary:
JavaScript
x
9
1
info_processos = {
2
'2019.491429': {"classe": "apelação", "dias_vista": 11},
3
'2020.714034': {"classe": "habeas corpus", "dias_vista": 8},
4
'2015.695102': {"classe": "agravo de instrumento", "dias_vista": 17},
5
'2012.628045': {"classe": "apelação", "dias_vista": 32},
6
'2017.462447': {"classe": "recurso em sentido estrito", "dias_vista": 9},
7
'2018.518281': {"classe": "apelação", "dias_vista": 4},
8
}
9
The keys are the protocols numbers (‘2019.491429’, ‘2020.714034’, ‘2015.695102’, etc.) while the values are a subdictionary which has 2 keys (‘classe’ and ‘dias_vista’).
I want to create a new pair “prorrogado”: “sim” for the keys which have the value from “dias_vista” equal or above 10 and for the others “prorrogado”: “não”.
I have tried using this loop method:
JavaScript
1
5
1
for key, value in info_processos.items():
2
if info_processos(value["dias_vista"] >= 10):
3
info_processos.update({key: {"prorrogado": "Sim"}})
4
info_processos.update({key: {"prorrogado": "Não"}})
5
But it returned "TypeError: 'dict' object is not callable"
.
How can I solve it?
Advertisement
Answer
Just do:
JavaScript
1
18
18
1
import pprint
2
3
info_processos = {
4
'2019.491429': {"classe": "apelação", "dias_vista": 11},
5
'2020.714034': {"classe": "habeas corpus", "dias_vista": 8},
6
'2015.695102': {"classe": "agravo de instrumento", "dias_vista": 17},
7
'2012.628045': {"classe": "apelação", "dias_vista": 32},
8
'2017.462447': {"classe": "recurso em sentido estrito", "dias_vista": 9},
9
'2018.518281': {"classe": "apelação", "dias_vista": 4},
10
}
11
12
13
for key, inner in info_processos.items():
14
inner["prorrogado"] = "Sim" if inner["dias_vista"] >= 10 else "Não"
15
16
17
pprint.pprint(info_processos)
18
Output
JavaScript
1
13
13
1
{'2012.628045': {'classe': 'apelação', 'dias_vista': 32, 'prorrogado': 'Sim'},
2
'2015.695102': {'classe': 'agravo de instrumento',
3
'dias_vista': 17,
4
'prorrogado': 'Sim'},
5
'2017.462447': {'classe': 'recurso em sentido estrito',
6
'dias_vista': 9,
7
'prorrogado': 'Não'},
8
'2018.518281': {'classe': 'apelação', 'dias_vista': 4, 'prorrogado': 'Não'},
9
'2019.491429': {'classe': 'apelação', 'dias_vista': 11, 'prorrogado': 'Sim'},
10
'2020.714034': {'classe': 'habeas corpus',
11
'dias_vista': 8,
12
'prorrogado': 'Não'}}
13
The use of update
is preferred for multiple keys or another dictionary.