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写入数据到MP3文件中的方法
Jul 10 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
Python中Numpy mat的使用详解
May 24 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
Python CVXOPT模块安装及使用解析
Aug 01 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
python判断链表是否有环的实例代码
Jan 31 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 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
ie6 动态缩略图不显示的原因
2009/06/21 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP框架性能测试报告
2016/05/08 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
重定向实现代码
2006/11/20 Javascript
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
小程序实现留言板
2018/11/02 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
vue实现在线翻译功能
2019/09/27 Javascript
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python正则表达式的使用
2017/06/12 Python
Python装饰器用法与知识点小结
2020/03/09 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
上课说话检讨书大全
2014/01/22 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
离职报告范文
2014/11/04 职场文书
2014司机年终工作总结
2014/12/05 职场文书
市场总监岗位职责
2015/02/11 职场文书
格林童话读书笔记
2015/06/30 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
浅谈mysql执行过程以及顺序
2021/05/12 MySQL