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

Python遍历列表拼接url时重复输出最后一个元素问题求解

问题原因
  • f-string的插值逻辑是定义时立即求值,并非后续调用时动态计算。你将url的定义放在了for循环外部,整个运行过程中只会计算1次url的值,不会随着循环遍历自动更新。
  • 你的代码在循环外引用了尚未定义的循环变量list,当前运行没有报错还返回了MSFT,是因为你之前已经执行过该循环,运行环境中残留了上一次循环结束时list被赋值的最后一个元素值。如果在全新的Python环境中直接运行这段代码,第二行就会抛出NameError报错。
  • 额外注意:不要使用list作为自定义变量名,它是Python内置的列表类型标识,覆盖后会影响后续列表内置方法的正常调用。
修复方案

将url的生成逻辑移到for循环内部,每次遍历新元素时重新生成对应的url即可,修复后代码如下:

lists = ["FB", "APPL", "MSFT"]
# 用item代替list作为循环变量名,避免覆盖内置关键字
for item in lists:
    print(item)
    url = f'https://finance.yahoo.com/quote/{item}'
    print(url)

运行后输出结果符合预期:

FB
https://finance.yahoo.com/quote/FB
APPL
https://finance.yahoo.com/quote/APPL
MSFT
https://finance.yahoo.com/quote/MSFT

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:45:04