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 相关文章推荐
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
Python实现比较扑克牌大小程序代码示例
Dec 06 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
python实现图片筛选程序
Oct 24 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
CentOS7安装Python3的教程详解
Apr 10 Python
Python 日志logging模块用法简单示例
Oct 18 Python
通过python扫描二维码/条形码并打印数据
Nov 14 Python
PyTorch实现AlexNet示例
Jan 14 Python
python中的sys模块和os模块
Mar 20 Python
利用For循环遍历Python字典的三种方法实例
Mar 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
两个php日期控制类实例
2014/12/09 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
jquery简单体验
2007/01/10 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
layui表格实现代码
2017/05/20 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
python flask搭建web应用教程
2019/11/19 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
浅析python函数式编程
2020/09/26 Python
python从Oracle读取数据生成图表
2020/10/14 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
UNIX特点都有哪些
2016/04/05 面试题
师范生的个人求职信范文
2014/01/04 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
怎样写好工作计划
2019/04/10 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
react 项目中引入图片的几种方式
2021/06/02 Javascript
MySQL 时间类型的选择
2021/06/05 MySQL