You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python向现有列表追加新列表时extend方法返回None的原因是什么?

问题原因
  • list.extend() 是Python中列表的原地修改方法,这类方法没有自定义返回值,默认返回None,你直接打印extend方法的调用结果,自然输出None。
  • 额外逻辑提示:你原代码的写法会把s中的每一个"1"单独拆分为外层列表的元素,直接破坏原有嵌套网格的结构,如果是要把s作为新的一行加到网格中,用extend是错误的。
正确实现方案

场景1:将s作为完整的新行追加到嵌套网格末尾

使用append()方法,修改后代码如下:

board = [
    [" "," ","1"," "],
    [" "," ","1"," "],
    ["1","1"," "," "],
    ["1"," "," ","1"]]
def total1count(board: list):
    t = []
    for x in board:
        t.append(x.count("1"))
    return sum(t)
s = list("1"*total1count(board))
board.append(s)
print(board)

场景2:将s的所有元素展开追加到外层列表末尾

先执行extend修改原列表,再打印修改后的board即可:

# 前面定义board、total1count、s的代码不变
board.extend(s)
print(board)

内容的提问来源于stack exchange,提问作者Joshua Bradley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:36:07