Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Access values from multiple dictionaries within a list

I was making a scraper for my school website, which automatically gets the homework for today.

[
    {
        "id": "1523958",
        "studentId": "8326",
        "assignmentId": "35074",
        "diaryType": "cw",
        "diaryId": "35074",
        "subject": "URDU",
        "title": "اچھے آداب و اطوار",
        "description": "9F Maymaar - Classwork posted",
        "bRead": "1",
        "date": "Fri, 04/11/2022",
    },
    {
        "id": "1520938",
        "studentId": "8426",
        "assignmentId": "35013",
        "diaryType": "cw",
        "diaryId": "35013",
        "subject": "SOCIAL STUDIES",
        "title": "The Globe and Maps ",
        "description": "5C Maymaar - Classwork posted",
        "bRead": "0",
        "date": "Fri, 04/11/2022",
        "download": "2bf0c7b51af0cfb1023261dd7b8b4f8f.jpg",
    },
    {
        "id": "1520624",
        "studentId": "8426",
        "assignmentId": "35007",
        "diaryType": "cw",
        "diaryId": "35007",
        "subject": "MATHEMATICS",
        "title": "Percentage ",
        "description": "5C Maymaar - Classwork posted",
        "bRead": "0",
        "date": "Fri, 04/11/2022",
    },
    {
        "id": "1520530",
        "studentId": "8426",
        "assignmentId": "35005",
        "diaryType": "cw",
        "diaryId": "35005",
        "subject": "ENGLISH A",
        "title": "Paragraph writing ",
        "description": "5C Maymaar - Classwork posted",
        "bRead": "0",
        "date": "Fri, 04/11/2022",
    },
    {
        "id": "1517928",
        "studentId": "8326",
        "assignmentId": "34952",
        "diaryType": "cw",
        "diaryId": "34952",
        "subject": "PHYSICS",
        "title": "Homework",
        "description": "9F Maymaar - Classwork posted",
        "bRead": "1",
        "date": "Fri, 04/11/2022",
    },
    {
        "id": "1513747",
        "studentId": "8426",
        "assignmentId": "34887",
        "diaryType": "gn",
        "diaryId": "34887",
        "subject": None,
        "title": "General notice ",
        "description": "5C Maymaar - Notice posted",
        "bRead": "0",
        "date": "Thu, 03/11/2022",
    },
    {
        "id": "1508998",
        "studentId": "8426",
        "assignmentId": "34787",
        "diaryType": "cw",
        "diaryId": "34787",
        "subject": "SOCIAL STUDIES",
        "title": "Map reading skills ",
        "description": "5C Maymaar - Classwork posted",
        "bRead": "0",
        "date": "Thu, 03/11/2022",
    },
]

what you see above is a list, what i want to do is:
if studentId = 8426 and if date = something:
SEND AssignmentiId TO DISPLAY

i tried to do it my self but tbh i dont know how to approach this problem, how do i read every dictionary, check every key and it’s value and then print out another key in the same dictionary?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

for key, value in diary:
    if key == "date":
        if value == "Fri, 04/11/2022":
            print(key, value)

>Solution :

According the comments, you can iterate over the list and check for your condition. For example (lst is your list from question):

for d in lst:
    if d["studentId"] == "8426" and d["date"] == "Fri, 04/11/2022":
        print(d["assignmentId"])

Prints:

35013
35007
35005
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading