【问题标题】:I don't understand the difference between these codes [duplicate]我不明白这些代码之间的区别[重复]
【发布时间】:2020-12-23 04:25:43
【问题描述】:
data = [2, 4, 3, 1, 5, 10, 9]

data.pop()
print(data)

结果:[2, 4, 3, 1, 5, 10]

以上是我认为有道理的

然而,

data = [2, 4, 3, 1, 5, 10, 9]

Print(data.pop())

我知道了

结果:9

有什么区别?

【问题讨论】:

  • 值得一看at the docspop() 更改原始列表并返回 值。在一种情况下,您正在打印更改后的列表,在另一种情况下,您正在打印返回的值。

标签: python


【解决方案1】:

在第一种情况下,您正在打印数据列表。我重新编写了代码并添加了 cmets 以使其更易于理解:

场景 1

data = [2, 4, 3, 1, 5, 10, 9] # the given data list
data.pop() # pop the last element off the list
print(data) # print 'data' (which is the list)

这里的结果是 [2, 4, 3, 1, 5, 10] 是因为你从列表中弹出,然后打印列表本身。

场景 2

data = [2, 4, 3, 1, 5, 10, 9] # the given data list
print(data.pop()) # print the value returned by data.pop(), which is 9

# Result : 9

List.pop() 是一种从列表中返回弹出值的方法。因此,通过执行print(data.pop()),您请求打印单个弹出值而不是整个data 列表。

请参阅有关List.pop() 方法here. 的Python 文档

【讨论】:

    【解决方案2】:

    pop() 方法返回从列表中删除的值。 如果您尝试打印该 d.pop() 它只会返回删除的值。

    【讨论】:

      【解决方案3】:

      当您使用 pop() 时,它返回列表的最后一个元素,并在内部从列表中删除最后一个元素。

      请注意,在第一个代码中,您打印的是数据(列表),而在第二个代码中,您打印的是 pop 返回的内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-02
        • 2021-02-09
        • 1970-01-01
        • 2018-12-28
        相关资源
        最近更新 更多