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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
python动态性强类型用法实例
May 09 Python
Python ftp上传文件
Feb 13 Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
python匹配两个短语之间的字符实例
Dec 25 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
python ansible自动化运维工具执行流程
Jun 24 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
第九节 绑定 [9]
2006/10/09 PHP
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php根据年月获取季度的方法
2014/03/31 PHP
PHP单例模式详细介绍
2015/07/01 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
Python对数据库操作
2016/03/28 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python学生信息管理系统实现代码
2019/12/17 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
师德师风个人反思
2014/04/28 职场文书
护理专业求职信
2014/06/15 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript