如何使用列表迭代器向Python列表中添加元素?
解决列表添加元素的问题
嘿,我懂你遇到的问题啦!你原来的代码之所以得到[[7,7,7]],是因为[7 for i in range(3)]本身就生成了一个完整的列表,而append()方法会把这个列表整个作为单个元素添加到m里,自然就变成嵌套结构了。
给你几个不需要后处理的解决方案,直接得到[7,7,7]:
方法一:用
extend()替代append()extend()会把可迭代对象里的每个元素逐个添加到列表中,正好符合你的需求:m = [] m.extend([7 for i in range(3)])执行后
m就是[7,7,7]。方法二:直接用列表推导式初始化
如果不需要先创建空列表再添加,直接一步到位更简洁:m = [7 for i in range(3)]这行代码直接生成你想要的列表。
方法三:循环逐个添加
虽然不如前两种高效,但逻辑更直观,适合理解基础操作:m = [] for _ in range(3): m.append(7)
以上三种方法都不需要额外的扁平化处理,直接就能得到目标结果~
内容的提问来源于stack exchange,提问作者omsrisagar
相关产品推荐
相关产品推荐

