python列表数据结构的python实现
2018-09-23 21:35
274 查看
版权声明:本文为博主原创文章,未经博主允许可以转载。 https://blog.csdn.net/killeri/article/details/82825137
我们知道,python列表已经实现了一个线性表的所有操作和结构要求,它是通过C语言实现的,那么我们今天就用python语言本身再实现一次线性表的数据结构。
class List: def __init__(self, *elements): self._list = list(*elements) def __str__(self): return str(self._list) def is_empty(self): if len(self._list): return False return True def len(self): return len(self._list) # 在表第一项进行插入 def prepend(self, elem): self._list.insert(0, elem) # 最后一项进行插入 def append(self, elem): self._list.append(elem) def insert(self, elem, i): self._list.insert(i, elem) def del_first(self): del self._list[0] def del_last(self): del self._list[len(self._list)-1] # 查找elem在列表中的所有下标,有,就返回下标列表;没有,就返回-1。 def search(self, elem): _ls = list() for i in range(len(self._list)): if self._list[i] == elem: _ls.append(i) if _ls: return _ls return -1 def forall(self, add): return [add(i) for i in self._list] # 这里返回了一个新列表,而不是之前的self._list,所以要注意 def addone(x): x += "addone" return x emptyList = List() print(emptyList.is_empty()) print(emptyList.len()) emptyList.prepend("head") emptyList.append("tail") emptyList.insert("insertElement", 1) print(emptyList) print(emptyList.is_empty()) print(emptyList.len()) emptyList.del_first() emptyList.del_last() print(emptyList.search("insertElement")) print(emptyList.search("head")) emptyList.forall(addone) print(emptyList.forall(addone))
由上,我们就实现了一个线性表的实现,关于线性表的各种操作,如建立空表,初始化的表,表的修改,表的遍历等,都进行了实现。
相关文章推荐
- Python实现列表转换成字典数据结构的方法
- python数据结构与算法 18 无序列表的实现
- [从头学数学] 第244节 Python实现数据结构:列表
- python数据结构学习笔记-2016-10-24-02-使用排序列表实现集合ADT
- Python实现列表转换成字典数据结构的方法
- Python数据结构——列表、元组及字典
- 使用python的yield实现任务调度.给定一个任务列表,每个任务轮流切换执行,类似于切片
- 队列的Python实现(列表实现)
- Python实现比较两个列表(list)范围
- 小白学数据结构——二、树与堆(基本概念及二叉树、二叉堆的python实现)
- Python 数据结构>>7.7 列表解析
- Python实现对嵌套列表字典按某一元素合并及lambda的使用
- Python数据结构列表list
- Python数据结构:列表、字典、元组、集合
- 容易理解的python用列表(栈)实现深度优先遍历文件
- python中的数据结构(1):列表(数组)和元組
- python数据结构之列表和元组的详解
- 数据结构之双向列表实现
- Python中列表、字典、元组、集合数据结构整理
- 用python列表实现括号匹配