Python中添加元素后打印列表对象失效问题求助
解决列表append返回None的问题
你遇到的核心问题就是list.append()方法是原地修改列表,它的返回值固定为None,所以直接把它的结果赋值给变量,得到的自然是None。要获取添加元素后的列表,有两种简单的实现方式:
方法一:分两步操作
先把元组转成列表并赋值给变量,再调用append()修改这个列表,最后打印变量:
from itertools import combinations steps = [1,2,3,4,5,6,7,8] for i in range(7, 8): for subset in combinations(steps, i): tmp_subset = list(subset) tmp_subset.append(1) print(tmp_subset)
方法二:使用列表拼接(一步完成)
利用列表拼接会返回新列表的特性,直接生成包含新增元素的列表:
from itertools import combinations steps = [1,2,3,4,5,6,7,8] for i in range(7, 8): for subset in combinations(steps, i): tmp_subset = list(subset) + [1] print(tmp_subset)
两种方法都能得到你想要的、添加了数字1后的目标列表,根据习惯选择即可。
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

