【发布时间】:2026-01-29 19:45:01
【问题描述】:
我正在学习数据结构,我想将堆栈中的数据放入列表中,我使用此代码做到了
data_list=[Stack1.pop() for data in range(Stack1.get_top()+1)]
现在这确实实现了。但我想知道
即使变量 'data' 没有在表达式 'Stack1.pop()' 中使用,理解仍然有效。请解释它正在使用一个示例,其中变量未在表达式中使用。
这种方法是否适用于堆栈、队列?
【问题讨论】:
-
re:“这种方法是否好”——如果
get_top()有它的传统含义,那么没有。不过,您需要更详细地描述Stack1,以便任何人都能正确回答。它是什么类型,该类型支持什么方法,它们是做什么的,内容是什么等等。 -
get_top() 方法是常规的,Stack1里面有整数作为数据
-
在这种情况下,如果堆栈顶部的值恰好是堆栈的大小 - 1,listcomp 只会巧合地起作用。
-
回答你的问题,虽然这个列表理解有时并且只是偶然地起作用,但是在你不使用的 listcomp 中有一个变量是可以的。按照惯例,这个变量通常称为
_,表示它实际上并没有被使用。 -
哦,谢谢你的指点,它回答了我的问题。
标签: python-3.x list-comprehension