Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Scrivi una funzione searchby_entity che riceva:

  • all_entities - array di stringhe - Elenco di tutte le entità del file JSON in formato stringa JSON
  • filter_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 qui

Tutte le lezioni di Progetto di ricerca sui social media - Fondamenti di JSON in Python

3Implementazione della ricerca di base

Recuperare tutti i recordCerca per utente/pagina

Esercitati da solo: Compilatore Python online