以下两种方法执行相同的操作。就时间/空间复杂度而言,哪一个更有效?
** Method A**
for student in group.students:
for grade in student.grades:
some_operation(grade)
** Method B**
for grade in [grade for student in group.students for grade in student.grades]
some_operation(grade)
最佳答案
方法B看起来很奇怪和多余。您可以将其缩短为:
[some_operation(grade) for student in group.students for grade in student.grades]
但是方法A更好的方法是,因为它不会创建列表。仅仅列出清单以将其丢弃会给读者造成混乱,并浪费内存。
关于python - Python列表理解与嵌套循环,简洁/高效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39779757/