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编程中JSON模块的使用
Oct 15 Python
python中解析json格式文件的方法示例
May 03 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
tensorflow实现简单逻辑回归
Sep 07 Python
对python函数签名的方法详解
Jan 22 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
解决Python正则表达式匹配反斜杠''\''问题
Jul 17 Python
python将字符串转变成dict格式的实现
Nov 18 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
python神经网络ResNet50模型
May 06 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
使用php4加速网络传输
2006/10/09 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
深入解析ES6中的promise
2018/11/08 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
js编写简易的计算器
2020/07/29 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
python实现双色球随机选号
2020/01/01 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python代码如何注释
2020/06/01 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
法国春天百货官网:Printemps.com
2020/06/29 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
家居设计专业个人自荐信范文
2013/11/26 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
物流管理专业自荐信
2014/06/23 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
高考1977观后感
2015/06/04 职场文书
德劲DE1102数字调谐收音机机评
2022/04/07 无线电