Python 中这两个 for 循环哪个更好?我“假设”编译器足够聪明,可以只执行 json.loads 一次,并自行将数据存储在临时变量中,以便它可以维护处理 for 循环所需的迭代器。但后来我开始怀疑我是否弄错了,第一种风格会导致不必要的额外步骤。
for employee in json.loads(response.content)
或者
temp = json.loads(response.content)
for employee in temp
最佳答案
虽然两者本质上是相同的,但有一个充分的理由支持临时值:它可以让您在尝试迭代结果之前捕获 json.loads
调用中的任何错误。这与尽可能集中 try
语句中的代码是一致的。
try:
employees = json.loads(response.content)
except JSONDecodeError:
# Maybe log an error message
# Maybe just reraise the exception
employees = []
for employee in employees:
...
关于python - 这些 for 循环中哪一个更有效/更好的循环编码方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59688591/