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

Python循环运行时如何每次将用户输入追加到不同的列表中?

你当前代码的核心问题是:f'scores_h{i}'生成的是字符串类型的变量名,并不是你预先定义的列表对象本身,所以无法直接调用append方法执行追加操作,以下是两种可行实现方案:


方法1(最推荐):用字典统一存储所有分数列表

不用预先定义9个独立变量,用字典的键对应不同的h序列,值对应分数列表,代码更简洁易维护:

# 初始化字典,key为h1到h9,value为对应空列表
score_dict = {f'h{i}': [] for i in range(1, 10)}

for i in range(1, 10):
    value = int(input("Score: "))
    # 直接通过key取到对应列表执行追加
    score_dict[f'h{i}'].append(value)

后续需要取h1的分数时,直接调用score_dict['h1']即可。


方法2:保留原有独立变量的实现(非必要场景不推荐)

如果你必须保留预先定义的scores_h1到scores_h9独立变量,可以通过globals()全局命名空间获取对应的列表对象:

scores_h1 = []
scores_h2 = []
scores_h3 = []
scores_h4 = []
scores_h5 = []
scores_h6 = []
scores_h7 = []
scores_h8 = []
scores_h9 = []

for i in range(1,10):
    value = int(input("Score: "))
    # 从全局变量字典中取出对应列表对象
    target_list = globals()[f'scores_h{i}']
    target_list.append(value)

注意:该方法依赖全局命名空间,容易出现变量名冲突、代码可读性差等问题,非特殊需求不建议使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:06:04