Python 循环函数调用中的内存使用与变量赋值

Python memory use in loop function call vs variable assigment

假设我有一个数据框,我想将其转换为字典列表并循环遍历它们。

什么会更有效率?

df = some_dataframe
df_as_list = df.to_dict('records')

for i in df_as_list:
    requests.get(i['url'])

df = some_dataframe
for i in df.to_dict('records'):
    requests.get(i['url'])

第二个示例是否在每个循环中调用 to_dict()?

只有一次调用 to_dictfor 循环基本上等同于

t = iter(df.to_dict('records'))
while True:
    try:
        i = next(t)
    except StopIteration:
        break

    requests.get(i['url'])

是否将df.to_dict的结果赋给变量并不重要,因为结果只是传递给iter,并且该迭代被多次传递给 next