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随手笔记之标准类型内建函数
Dec 02 Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
用Django写天气预报查询网站
Oct 21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
Pytorch 实现focal_loss 多类别和二分类示例
Jan 14 Python
Python新手学习函数默认参数设置
Jun 03 Python
Python 字典中的所有方法及用法
Jun 10 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
python基于selenium爬取斗鱼弹幕
Feb 20 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实现批量压缩图片文件大小的脚本
2014/07/04 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
JS 常用校验函数
2009/03/26 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python字典get()方法用法分析
2015/04/17 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
python中使用np.delete()的实例方法
2021/02/01 Python
《月迹》教学反思
2014/02/19 职场文书
团日活动总结
2014/04/28 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
监察建议书
2015/02/04 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
利用python做表格数据处理
2021/04/13 Python