Python中如何实现列表元素自增?期望得[2,4,5,6,7]却获[7]
问题解决:生成目标列表结果
你的代码问题出在每次循环都会重新初始化空列表l,导致之前循环添加的元素全部被清空,最后只保留了最后一次循环的结果7。
修正方案1:调整列表初始化位置
把l = []移到for循环外面,确保所有循环的元素都追加到同一个列表中:
list1 = [1,3,4,5,6] l = [] # 初始化放在循环外 for i in range(len(list1)): s = list1[i] + 1 l.append(s) print(l) # 输出:[2,4,5,6,7]
修正方案2:使用列表推导式(更简洁)
Python中可以用列表推导式直接生成目标列表,代码更简洁高效:
list1 = [1,3,4,5,6] l = [num + 1 for num in list1] print(l) # 输出:[2,4,5,6,7]
内容的提问来源于stack exchange,提问作者Ksandr Gronsky
相关产品推荐
相关产品推荐

