Cerca per utente/pagina
Lezione 6 di 10 del corso Progetto di ricerca sui social media - Fondamenti di JSON in Python di Coddy.
Ora ti viene chiesto di implementare le funzionalità di ricerca una alla volta. Come abbiamo accennato prima, esistono 2 tipi di entità/account: utente e pagina.
Devi aggiungere un nuovo filtro in modo che la ricerca possa essere limitata a una particolare entità.
Ad esempio, un utente potrebbe voler cercare tutti gli utenti nel sistema; in tal caso seleziona utente nel filtro a discesa entità e poi fa clic su Cerca.
La tua funzione riceverà una stringa JSON contenente i record delle entità.
Gli oggetti JSON seguiranno il formato seguente. type può essere user o page
Ad esempio, un record utente sarà simile a questo:
{
"name": "Robert McNally",
"city": "Hawaii",
"type": "user"
}un record pagina sarà simile a questo:
{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}Un insieme di questi oggetti verrà raggruppato in un array JSON chiamato result.
Consulta l'input di esempio della sfida per il formato dell'input.
Sfida
FacileScrivi una funzione searchby_entity che riceva:
all_entities- array di stringhe - Elenco di tutte le entità del file JSON in formato stringa JSONfilter_entity- stringa - Entità di filtro selezionata. Il valore può essere user, page o group
E restituisca una lista Python, ovvero la lista all_entities filtrata in base a filter_entity.
Nota che all_entities è una stringa JSON. La stringa è un oggetto JSON che dovrai convertire in un oggetto dizionario.
Esempio:
Input - all_entities =
{"result": [{
"name": "Robert McNally",
"city": "Hawaii",
"type": "user"
}, {
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}, {
"name": "Coddy Official",
"city": "Haifa",
"type": "page"
}]}filter_entity = page
Output previsto - La lista seguente
[{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}, {
"name": "Coddy Official",
"city": "Haifa",
"type": "page"
}]Spiegazione - L'oggetto dizionario con type="user" è stato rimosso dalla lista all_entities .
Provalo tu
def searchby_entity(all_entities, filter_entity):
# Scrivi il codice quiTutte le lezioni di Progetto di ricerca sui social media - Fondamenti di JSON in Python
Esercitati da solo: Compilatore Python online