# -*- coding: utf-8 -*- """ Created on Wed Nov 21 10:53:04 2018 @author: Angelo """ import urllib import json with urllib.request.urlopen("https://jsonplaceholder.typicode.com/todos") as r: todos = json.load(r) def genera_dizionario_userId(lista): """ Restituisce un dizionario che per ogni userId del dizionario di todos passato come input, associa il numero di todo completati""" d = {} for todo in lista: userId = todo["userId"] if userId not in d: d[userId] = 0 if todo["completed"]: d[userId]+=1 return d def genera_dizionario_userId_conlista(lista): """ Restituisce un dizionario che per ogni userId del dizionario di todos passato come input, associa il numero di todo completati e la lista di tali todo""" d = {} for todo in lista: userId = todo["userId"] if userId not in d: # d[userId] = {"completati":0, # "lista_completati":[]} d[userId]=[0, []] if todo["completed"]: # d[userId]["completati"]+=1 # d[userId]["lista_completati"].append(todo["id"]) d[userId][0]+=1 d[userId][1].append(todo["id"]) return d """ Scrivere una espressione max che trova nel dizionario l'userId dell'utente che ha completato più todo ed è più vicino a completare tutti i suoi todo Es senza il numero di todo da completare: max(d, key=lambda userid: d[userid][0]) """ if __name__ == "__main__": userId_diz = genera_dizionario_userId(todos)