python - Pop() 在函数内部时不返回任何值?

标签 python list

我目前正在学习 Python 中的 pop() 函数并有一个问题。

>>> a = [1,2,3,4]
>>> a.pop(3) #or a.pop()
4
>>> print(a)
[1,2,3]

我知道 pop() 函数删除并返回对应于索引的元素的值。但是,以下示例是我感到困惑的原因:

>>> a = [1,2,3,4]
>>> def solution(array):
        array.pop()
        return array
>>> solution(a)
[1,2,3]

首先,我知道我描述的函数返回 [1,2,3]。但是,为什么它不返回 pop() 值呢?它不应该返回 4 因为 solution() 中的 pop() 函数有一个 pop()函数,在定义中,返回弹出元素的值??我认为这个 pop() 函数有点像同时执行 delprint 函数。

最佳答案

当您在 array.pop() 之后调用 return 数组时,它将返回除 pop 元素之外的其余元素。因为您返回的不是所有特定的弹出操作的数组。返回 array.pop() 而不是 array

def solution(array):
    return array.pop()

或者您可以通过另一种方式存储 pop 元素,然后返回 pop 变量。

def solution(array):
    pop_op=array.pop()
    return pop_op

关于python - Pop() 在函数内部时不返回任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65164681/

相关文章:

python - 如何使用gensim LDA获取文档的完整主题分布?

javascript - 使用 Python 逆向 XOR Javascript 混淆函数

python - 如何在 discord.py cogs 中创建别名?

Python3找不到pip3安装的模块

Python 忽略标点符号和空格

使用虚拟节点连接 2 个单链表

python - 如何让 Blender 导出器脚本从命令行运行?

python - 将具有多层嵌套列表的不规则列表转换为列表列表

python - 根据长度重复列表列表的第一个元素

python - 如何将列表项附加到数据框中的特定列?