python - 为什么函数中的`queue = queue.append(item)`不会将传递的队列更改为`None`?
问题描述
我的教科书包括以下函数,作为使用列表在 Python 中实现队列的简单方法:
def enqueue(queue, item):
queue = queue.append(item)
#print(queue)
def dequeue(queue):
return queue.pop(0)
def isEmpty(queue):
return len(queue)==0
def createQueue():
return []
我的问题与enqueue()
功能有关。
1) 目的是queue =
什么?既然list.append()
不返回任何东西,为什么不把它排除在外呢?
2)当我添加print(queue)
(显示为最后一行注释掉enqueue()
)到时enqueue()
,它打印None
,这是有道理的,但为什么不queue = queue.append(item)
将传递给函数的原始队列/列表更改为None
(因为列表是可变的),而只是改变局部变量queue
?
解决方案
推荐阅读
- python - PyQt5 不能在 ChromeOS 上运行?
- kubernetes - Rancher 节点迁移问题
- python - Python 是否缓存 for 循环可迭代?
- c++ - 子类中的不同枚举
- ffmpeg - FFmpeg 超过 1000 帧重复且输入高度不匹配
- java - 如何调用返回元组[]的函数
- google-cloud-platform - 如何使用 Cloud Build 使用来自 Secret Manager 的密钥部署 Cloud Functions?
- php - 谷歌图片元
- r - 如何根据数字而不是字符对行顺序进行排序?
- c++ - 指向 4 字节的 double 的指针如何指向 8 字节的 double?