+4 投票
分类:学习问题 | 用户: 9 5 2 (1.1k 分)

2 个回答

–1 投票
用户: 10 8 4 (2.7k 分)

亲亲,什么叫直接使用呢?

一般来说stack是要你自己用数组去模拟的

呃要是想用现成的话,numpy库里是有几种数据结构的(应该就有stack()函数)

如果题主有C语言情结的话或许可以试试ctype(笑)

有没有更好用的可自行寻找()


P.S.请题主下次提问时尽可能详细()

0 投票
用户: 7 4 (1.2k 分)

在Python中,没有内建的 stack 数据结构,但是你可以使用 list 来模拟栈的行为,因为列表提供了 append() 和 pop() 方法,分别对应于栈的入栈(push)和出栈(pop)操作。

如果你想使用更高级的栈结构,你可能需要引入一些额外的库。在Python的标准库中,并没有专门的栈模块,但是有一些第三方库提供了栈的实现。不过,通常来说,直接使用 list 就足够了。

以下是一个使用Python的 list 作为栈的简单例子:

stack = [] # 创建一个空栈
# 入栈操作
stack.append('a')
stack.append('b')
stack.append('c')
print(stack) # 输出: ['a', 'b', 'c']
# 出栈操作
top_element = stack.pop()
print(top_element) # 输出: 'c'
print(stack) # 输出: ['a', 'b']

如果你确实需要导入一个专门的栈模块,你可以考虑使用像 collections 这样的标准库模块,尽管它并没有直接提供栈,但提供了 deque 双端队列,它可以很容易地用作栈:

from collections import deque
stack = deque() # 创建一个空栈
# 入栈操作
stack.append('a')
stack.append('b')
stack.append('c')
print(stack) # 输出: deque(['a', 'b', 'c'])
# 出栈操作
top_element = stack.pop()
print(top_element) # 输出: 'c'
print(stack) # 输出: deque(['a', 'b'])

如果你在使用一个特定的框架或库,并且该框架或库提供了栈的实现,那么你需要根据该框架或库的文档来导入和使用栈。例如,在某些教学环境中,可能会使用自定义的栈类,这种情况下你需要按照提供的代码或文档来导入和使用。

如果你直接使用 stack 并且遇到了错误,那很可能是因为 stack 没有被定义或者没有正确导入。确保你了解你正在使用的代码库或框架,并遵循其提供的指南来导入和使用栈。

欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...