【问题标题】:Problems implementing a deque class with output Deque<elements>使用输出 Deque<elements> 实现双端队列类的问题
【发布时间】:2017-05-05 10:53:14
【问题描述】:

我正在大学上一门 Python 课程,我们应该在其中实现一个双端队列类作为作业。现在我在文档字符串中给出的实例应该给出的输出有一些问题。

class Deque:
"""
>>> d = Deque()
>>> d
Deque<>

>>> d = d.append(1); d
Deque<1>

>>> d.append(2).prepend(0)   # allow for chaining of appending & prepending
Deque<0, 1, 2>

我不知道如何实现实例输出带有尖括号的这种表示法。

有人有想法吗?

提前致谢

【问题讨论】:

    标签: python deque notation


    【解决方案1】:

    你需要定义__repr__()方法;你可以返回一个你想要的格式的字符串。

    【讨论】:

      【解决方案2】:

      您可以在班级的__repr__ 中解决这个问题。

      作为一个空的Deque 实例的简单示例:

      >>> class Deque(object):
      ...     def __repr__(self):
      ...         return 'Deque<>'
      ...
      >>> d = Deque()
      >>> d
      Deque<>
      

      对于非空实例,您只需格式化返回的字符串以包含实例的内容。

      【讨论】:

      • return 'Deque&lt;&gt;'return 'Deque&lt;' + ', '.join(self.INNER_CONTAINER) + '&gt;' 交换将给出完整 Deque 的预期输出,在您存储 Deque 数据的实现中,INNER_CONTAINER 是真实名称
      猜你喜欢
      • 2011-06-23
      • 1970-01-01
      • 2013-03-10
      • 2016-01-02
      • 1970-01-01
      • 2016-08-18
      • 2018-07-12
      • 1970-01-01
      • 2014-04-23
      相关资源
      最近更新 更多