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 tempfile模块学习笔记(临时文件)
May 25 Python
Python实现抓取网页并且解析的实例
Sep 20 Python
python学习基础之循环import及import过程
Apr 22 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
python远程邮件控制电脑升级版
May 23 Python
python生成器推导式用法简单示例
Oct 08 Python
python字符串反转的四种方法详解
Dec 02 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
Python如何将模块打包并发布
Aug 30 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 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
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
JS 日期比较大小的简单实例
2014/01/13 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
使用Python中的tkinter模块作图的方法
2017/02/07 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
实现Python与STM32通信方式
2019/12/18 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
yy结婚证婚词
2014/01/10 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
《比的意义》教学反思
2016/02/18 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
Java使用HttpClient实现文件下载
2022/08/14 Java/Android