【发布时间】:2021-11-24 00:47:54
【问题描述】:
我目前正在学习 Python 中的 DS。我正在为堆栈创建类。 我有几个问题-
-
我需要什么样的编码技能才能成为 Python 数据结构方面的专家?是使用python的内置结构还是创建堆栈、队列、链表、图等基本数据结构?
-
如何检查列表的元素是否为整数以便弹出它们?
class Stack(): def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items) - 1] def size(self): return len(self.items) def show(self): return self.items lt = ['a', '1', '2', 'b', '3'] a = Stack() for i in lt: a.push(i) for j in lt: if not j.isdigit(): a.pop() a.show()
如何在这里使用 if 语句,以便可以从列表中弹出所有非整数项?
if j!=%d 抛出错误
【问题讨论】:
-
如果完全删除#1 并(仅)关注#2 中的实际问题,这个问题会得到更好的接受。不需要“特殊”的编码技能。
-
数据结构超越了编程语言。几乎每种语言都有数组、列表、队列、堆栈、映射/字典等。您需要学习这些概念,以便知道如何以及何时将它们应用于您的问题,而不管语言如何。没有“Python 数据结构专家”之类的东西。
-
删除一组东西时,最好用你想保留的项目建立一个新列表。
lst = [i for i in ['a','1','2','b','3'] if not i.isdigit()].
标签: python data-structures stack