【问题标题】:What is the difference between pop() and pop()[0]?pop() 和 pop()[0] 有什么区别?
【发布时间】:2022-01-11 03:17:01
【问题描述】:

当我看到答案使用使用 self.items.pop()[0] 的 pop 函数时,我正在 leetcoding 和实现堆栈。

def pop(self):
    if len(self.items) > 0:
        return self.items.pop()[0]

在这种情况下,这是否与 pop() 做同样的事情?

我知道 pop(x) 会弹出第 x 个索引处的值。我会欣赏一些 pop()[x] 的例子。

【问题讨论】:

  • 这真的取决于self.items 的类型。也许是list(some_dict.items())
  • 它弹出最后一个元素(显然是一个可迭代的)并返回弹出的可迭代的第一个元素。

标签: python arrays


【解决方案1】:

根据您的措辞,我假设self.itemslist。正如您所指出的,列表的pop 方法可用于删除并返回指定索引处的列表元素。如果省略索引,则删除并返回最后一项。

无论哪种方式,pop 都会返回已删除的项目。如果您在调用pop 之后放置[0],您将获得弹出项目的第一项。所以,如果self.items[[1, 2, 3], [4, 5, 6]],那么self.items.pop() 就是[4, 5, 6],因此self.items.pop()[0] 就是4

【讨论】:

  • 是的,就是这样,谢谢
【解决方案2】:

你可以试试。

def pop(self):
if len(self.items) > 0:
    return self.items[1].pop(0)

她的 items[1] 是 items[items list index]

项目 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

【讨论】:

  • 你写的不是有效的 Python。它还假设len(self.items) >= 2.
  • 丹尼尔沃克你是对的。我只是专注于这部分 self.items[1].pop(0) 这就是为什么我没有注意到它。感谢您的回复
  • 另外,“items[items list index]”是什么意思?
猜你喜欢
  • 2014-07-31
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 2016-04-10
  • 2019-08-28
相关资源
最近更新 更多