【问题标题】:Why does the following code snippet returns None?为什么以下代码片段返回 None?
【发布时间】:2014-03-10 15:27:35
【问题描述】:

这应该从我在这里使用 range 方法创建的新列表中附加列表 val 中的值。

val = [1, 2, 3,'time is', 10, 'up']
print val.extend(range(0,10))

【问题讨论】:

    标签: python


    【解决方案1】:

    list.extend() 扩展列表对象就地 并返回None

    扩展后可以打印val

    val.extend(range(0,10))
    print val
    

    或使用连接:

    print val + range(0, 10)
    

    【讨论】:

    • 是的,您的建议在这里有效。我不明白的是,一旦在列表上执行了扩展方法,它不应该返回新的扩展列表而不是返回吗?
    • @nakkulable:没有,因为没有新列表。这与标准库中的所有其他方法一致。就地改变?返回None。产生新的价值?返回那个新值。
    • @nakkulable: list.sort(), list.reverse(), list.append(), dict.update(), set.add(), set.discard(), etc. etc. all return None.
    猜你喜欢
    • 2016-04-18
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2023-02-12
    相关资源
    最近更新 更多