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自动化测试ConfigParser模块读写配置文件
Aug 15 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
python dict 相同key 合并value的实例
Jan 21 Python
python numpy实现文件存取的示例代码
May 26 Python
PyCharm下载和安装详细步骤
Dec 17 Python
安装Anaconda3及使用Jupyter的方法
Oct 27 Python
python爬取招聘要求等信息实例
Nov 20 Python
python实现xml转json文件的示例代码
Dec 30 Python
python爬虫基础之urllib的使用
Dec 31 Python
python某漫画app逆向
Mar 31 Python
浅谈Python中的函数(def)及参数传递操作
May 25 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
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
js三种排序算法分享
2012/08/16 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
Angular的$http与$location
2016/12/26 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
python实现文字版扫雷
2020/04/24 Python
Python脚本调试工具安装过程
2021/01/11 Python
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
素食餐饮项目创业计划书
2014/02/02 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
班长自荐书范文
2014/02/11 职场文书
活动总结新闻稿
2014/08/30 职场文书
商家认证委托书格式
2014/10/16 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
毕业设计工作总结
2015/08/14 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server