How can I make the efficent for loop in Python?

后端 未结 3 410
自闭症患者
自闭症患者 2021-01-29 16:34

I am writing the csv file in python and there are four levels of nested objects. like

I need to show the csv like this

StudentName, StudentCla

3条回答
  •  星月不相逢
    2021-01-29 17:38

    Assuming s.subjects is None or some other False value when there are no subjects, and likewise for books

    for s in students:
        for subject in s.subjects or []:
            for book in subject.books or []:
                writer.writerow(s.name, s.class, subject.name, book.name)
    

    More generally, you can write

    for s in students:
        for subject in s.subjects if  else []:
            for book in subject.books if  else []:
                writer.writerow(s.name, s.class, subject.name, book.name) 
    

    Where is whatever expression makes sense

提交回复
热议问题