חיפוש לפי משתמש/עמוד
שיעור 6 מתוך 10 בקורס פרויקט חיפוש ברשתות חברתיות – יסודות JSON ב-Python של Coddy.
עכשיו מבקשים ממך לממש תכונות חיפוש בזו אחר זו. כפי שציינו קודם, יש 2 סוגים של ישויות/סוגי חשבון — משתמש ועמוד.
עליך להוסיף מסנן חדש כדי שאפשר יהיה לצמצם את החיפוש לישות מסוימת.
לדוגמה, משתמש עשוי לרצות לחפש את כל המשתמשים במערכת, ואז הוא יבחר משתמש במסנן הנפתח ישות ואז ילחץ על חיפוש.
תקבל לפונקציה שלך מחרוזת JSON שמכילה רשומות של ישויות.
אובייקטי JSON יהיו בפורמט שלהלן. type יכול להיות user או page
לדוגמה, רשומת משתמש תיראה כך:
{
"name": "Robert McNally",
"city": "Hawaii",
"type": "user"
}רשומת עמוד תיראה כך:
{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}קבוצה של אובייקטים כאלה תאוגד במערך JSON בשם result.
יש לעיין בקלט לדוגמה שבאתגר כדי לראות את פורמט הקלט.
אתגר
קלכתבו פונקציה searchby_entity שמקבלת,
all_entities- מערך מחרוזות - רשימה של כל הישויות מקובץ JSON בפורמט של מחרוזת JSONfilter_entity- מחרוזת - ישות המסנן שנבחרה. הערך יכול להיות user או page או group
ומחזירה רשימת Python, שהיא רשימת all_entities לאחר סינון לפי filter_entity.
שימו לב ש-all_entities היא מחרוזת JSON. המחרוזת היא אובייקט JSON שתצטרכו להמיר לאובייקט מילון.
דוגמה:
קלט - 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
פלט צפוי - הרשימה שלהלן
[{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}, {
"name": "Coddy Official",
"city": "Haifa",
"type": "page"
}]הסבר - אובייקט המילון עם type="user" הוסר מרשימת all_entities .
נסו בעצמכם
def searchby_entity(all_entities, filter_entity):
# כתבו כאן קודכל השיעורים ביחידה פרויקט חיפוש ברשתות חברתיות – יסודות JSON ב-Python
תרגלו בעצמכם: קומפיילר Python אונליין