python - 这些 for 循环中哪一个更有效/更好的循环编码方式

标签 python

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/

相关文章:

Python;保存列表中的位置以将其与另一个位置进行比较

python - 如何在Python中动态实例化类?

python - 使用 cffi 加载 .so 库

python - 在python中创建一个全局dict对象,可以从任何py文件访问和编辑

python - 为什么从`__iadd__`返回除“self”之外的任何东西?

python - 使用Python更改另一个正在运行的进程的图标

python - 我可以覆盖 Pydantic 父模型中的字段以使其可选吗?

function - 在 Python 中的函数之间传递值的最佳实践

python - pymc3中的贝叶斯因子

python - 如何在此类外部使用类内部声明的变量?