You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环字典列表时如何保存变量供外部函数调用?

解决循环中变量覆盖的问题

你遇到的问题是因为循环里每次都会重新赋值name、age、address这三个变量,循环结束后自然只剩最后一次的数值。要把每组数据都传入函数,正确做法是在循环内部直接调用目标函数,每遍历到一组字典,就立刻把当前参数传给函数使用。

举个具体例子:

假设你有需要调用的函数,比如:

def process_person(name, age, address):
    # 这里写你的函数逻辑,比如打印信息
    print(f"姓名:{name},年龄:{age},地址:{address}")

修改循环代码,在循环内部调用函数:

person_list = [{"name":"Jane", "age":27, "address":"aaaaa"}, {"name":"Mike", "age":28,"address":"aaasdf"}]
for person in person_list:
    name = person['name']
    age = person['age']
    address = person['address']
    # 直接传入当前循环的参数调用函数
    process_person(name, age, address)

这样运行后,两组数据都会被传入函数处理,不会只保留最后一组。

更简洁的写法(可选)

因为字典键名和函数参数名完全对应,你可以用字典解包简化代码,不用手动逐个取键值:

person_list = [{"name":"Jane", "age":27, "address":"aaaaa"}, {"name":"Mike", "age":28,"address":"aaasdf"}]
for person in person_list:
    # **person 自动把字典键值对转换成函数参数
    process_person(**person)

运行效果和上面完全一致,适合参数较多的场景。

内容的提问来源于stack exchange,提问作者Plain Jane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:23:14