Python中如何将新列表追加至基础列表J以获取预期输出?
问题解决
你的代码存在两个关键问题:
- 直接将
J重新赋值为过滤后的列表,丢失了原始的基础列表[[2, 6, 9, 10]] list.append()是原地修改列表的方法,它的返回值为None,因此直接print(J.append(J))会输出None
正确代码如下:
J = [[2, 6, 9, 10]] index = [[0, 3]] # 生成移除指定索引元素后的新列表 filtered_list = [j for i,j in enumerate(J[0]) if i not in index[0]] # 将新列表追加到原列表末尾 J.append(filtered_list) # 打印最终结果 print(J)
运行后输出与预期一致:
[[2, 6, 9, 10], [6, 9]]
逻辑拆解:
- 保留初始的
J结构,避免直接覆盖原始数据 - 通过列表推导式生成过滤后的新列表
filtered_list - 调用
J.append(filtered_list)完成追加操作 - 最后打印整个
J得到目标结果
内容的提问来源于stack exchange,提问作者nehrumodi
相关产品推荐
相关产品推荐

