Menu
Coddy logo textTech

Wyszukiwanie według użytkownika/strony

Lekcja 6 z 10 w kursie Projekt wyszukiwania w mediach społecznościowych — podstawy JSON w Pythonie w Coddy.

Teraz masz za zadanie kolejno zaimplementować funkcje wyszukiwania. Jak już wspomnieliśmy, istnieją 2 rodzaje encji/typów kont — użytkownik i strona. 

Musisz dodać nowy filtr, aby można było zawęzić wyszukiwanie do konkretnej encji. 

Na przykład użytkownik może chcieć wyszukać wszystkich użytkowników w systemie. W takim przypadku wybiera użytkownik w filtrze rozwijanym encja, a następnie klika Szukaj.

Twoja funkcja będzie otrzymywać ciąg JSON zawierający rekordy encji.

Obiekty JSON będą miały poniższy format. typ może mieć wartość user lub page

Na przykład rekord użytkownika będzie wyglądać tak:

{
	"name": "Robert McNally",
	"city": "Hawaii",
	"type": "user"
}

rekord strony będzie wyglądać tak:

{
	"name": "Friendly Neighborhood Coder",
	"city": "Trivandrum",
	"type": "page"
}

Wiele takich obiektów zostanie umieszczonych w tablicy JSON o nazwie result.

Sprawdź przykładowe dane wejściowe w wyzwaniu, aby poznać format danych wejściowych.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję searchby_entity, która przyjmuje:

  • all_entities - tablica ciągów znaków - Lista wszystkich encji z pliku JSON w formacie ciągu JSON
  • filter_entity - ciąg znaków - Wybrana encja filtra. Wartością może być user, page lub group

i zwraca listę Pythona, czyli listę all_entities przefiltrowaną według filter_entity. 


Pamiętaj, że all_entities jest ciągiem JSON. Ten ciąg jest obiektem JSON, który musisz przekonwertować na obiekt słownika.

Przykład:

Dane wejściowe - 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 

 

Oczekiwany wynik - poniższa lista 

[{
	"name": "Friendly Neighborhood Coder",
	"city": "Trivandrum",
	"type": "page"
}, {
	"name": "Coddy Official",
	"city": "Haifa",
	"type": "page"
}]

Wyjaśnienie - Obiekt słownika z type="user" został usunięty z listy all_entities .

Spróbuj swoich sił

def searchby_entity(all_entities, filter_entity):
    # Wpisz kod tutaj

Wszystkie lekcje w sekcji Projekt wyszukiwania w mediach społecznościowych — podstawy JSON w Pythonie

2Użytkownicy mediów społecznościowych — JSON

Zapoznanie się z JSON

3Podstawowa implementacja wyszukiwania

Pobieranie wszystkich rekordówWyszukiwanie według użytkownika/strony

Poćwicz samodzielnie: Kompilator Python online