python列表操作实例


Posted in Python onJanuary 14, 2015

本文实例讲述了python列表操作的方法。分享给大家供大家参考。

具体实现方法如下:

class Node:

   """Single node in a data structure"""

 

   def __init__(self, data):

      """Node constructor"""

       

      self._data = data

      self._nextNode = None

     

   def __str__(self):

      """Node data representation"""

 

      return str(self._data)     

 

class List:

   """Linked list"""

 

   def __init__(self):

      """List constructor"""

 

      self._firstNode = None

      self._lastNode = None

 

   def __str__(self):

      """List string representation"""

 

      if self.isEmpty():

         return "empty"

 

      currentNode = self._firstNode

      output = []

 

      while currentNode is not None:

         output.append(str(currentNode._data))

         currentNode = currentNode._nextNode

 

      return " ".join(output)     

 

   def insertAtFront(self, value):

      """Insert node at front of list"""

 

      newNode = Node(value)

 

      if self.isEmpty():  # List is empty

         self._firstNode = self._lastNode = newNode

      else:   # List is not empty

         newNode._nextNode = self._firstNode

         self._firstNode = newNode

         

   def insertAtBack(self, value):

      """Insert node at back of list"""

 

      newNode = Node(value)

 

      if self.isEmpty():  # List is empty

         self._firstNode = self._lastNode = newNode

      else:  # List is not empty

         self._lastNode._nextNode = newNode

         self._lastNode = newNode

 

   def removeFromFront(self):

      """Delete node from front of list"""

 

      if self.isEmpty():  # raise exception on empty list

         raise IndexError, "remove from empty list"

 

      tempNode = self._firstNode

 

      if self._firstNode is self._lastNode:  # one node in list

         self._firstNode = self._lastNode = None

      else:

         self._firstNode = self._firstNode._nextNode

 

      return tempNode

 

   def removeFromBack(self):

      """Delete node from back of list"""

 

      if self.isEmpty():  # raise exception on empty list

         raise IndexError, "remove from empty list"

      

      tempNode = self._lastNode

 

      if self._firstNode is self._lastNode:  # one node in list

         self._firstNode = self._lastNode = None

      else:

         currentNode = self._firstNode

 

         # locate second-to-last node

         while currentNode._nextNode is not self._lastNode:

               currentNode = currentNode._nextNode

                

         currentNode._nextNode = None

         self._lastNode = currentNode

 

      return tempNode

     

   def isEmpty(self):

      """Returns true if List is empty"""

 

      return self._firstNode is None

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
python如何查看微信消息撤回
Nov 27 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
pip安装python库的方法总结
Aug 02 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
python字符串判断密码强弱
Mar 18 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
python代码区分大小写吗
Jun 17 Python
Pycharm中使用git进行合作开发的教程详解
Nov 17 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 Python
python操作gmail实例
Jan 14 #Python
Python中的装饰器用法详解
Jan 14 #Python
python登陆asp网站页面的实现代码
Jan 14 #Python
Python的面向对象思想分析
Jan 14 #Python
为python设置socket代理的方法
Jan 14 #Python
Python单例模式实例分析
Jan 14 #Python
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 #Python
You might like
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
pymssql ntext字段调用问题解决方法
2008/12/17 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
Django多数据库的实现过程详解
2019/08/01 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python二元表达式用法
2019/12/04 Python
python基于opencv检测程序运行效率
2019/12/28 Python
python全局变量引用与修改过程解析
2020/01/07 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
用python计算文件的MD5值
2020/12/23 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
前台接待员岗位职责
2014/01/02 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
工作建议书范文
2014/05/13 职场文书
德育标兵事迹材料
2014/08/24 职场文书
食品质检员岗位职责
2015/04/08 职场文书
基层党支部承诺书
2015/04/30 职场文书
Python爬虫实战之爬取携程评论
2021/06/02 Python