Python:如何将for循环中每次的amount值正确存入列表?
解决方法
首先要确保每次循环内都重新计算amount的值,同时把空列表的初始化放在循环外部,避免每次循环重置列表。
正确的代码示例:
# 初始化空列表,放在循环外 result_list = [] for user_id in arr_of_user_id: individual_user_id = user_id # 把你计算amount的代码放在这里,必须基于当前的user_id重新计算 # 替换成你实际的计算逻辑 amount = 你的计算逻辑(individual_user_id) # 将本次循环得到的amount加入列表 result_list.append(amount) print(result_list)
问题原因
你之前得到重复值的核心问题是:
amount的计算逻辑没有放在循环内部,只在循环外计算了一次(值为10),后续循环只是重复添加这个固定值;- 或者循环内没有对
amount重新赋值,一直沿用第一次循环的结果。
只要把amount的计算过程移到循环里,每次遍历新的user_id时重新计算,就能得到预期的[10,212,2,454]列表。
另外注意:不要用list作为变量名,这是Python的内置类型,会覆盖内置功能,建议用result_list这类自定义名称。
内容的提问来源于stack exchange,提问作者boolistrue
相关产品推荐
相关产品推荐

