python入门(七)
python数据结构
一、数据结构概述
数据组织在一起的结构叫做数据结构。
python中的数据结构:列表,元组,字典,队列,栈,树等等。
python内置数据结构:列表、元组等。
python扩展数据结构:栈,队列等。
数据结构式静态的,算法是动态的。
数据结构示例:
1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #python内置数据结构,元组、列表、字典 8 #将三个物品"apple"、"orange"、"pear"组织起来 9 #存储方式一,可以取出来(列表) 10 a=["apple","orange","pear"] 11 print a 12 #存储方式二,不可以取出来,不可以改变(元组) 13 b=("apple","orange","pear") 14 print b 15 #存储方式三,不仅按顺序存储,存储空间还有名字 16 c={"sam":"apple","jac":"orage","mating":"pear"} 17 print c
二、Python 常见数据结构-栈
栈是一端开口,一端开放的容器。
代码示例:
1 #coding=utf-8 2 #栈 3 class Stack: 4 #初始化栈 5 def __init__(self,size):#栈的主体,与栈的容量 6 self.stack=[]#声明栈的属性,此时栈的属性为列表 7 self.size=size#传递栈的容量 8 self.top=-1#初始化栈顶的位置,有数据为0,没有数据为-1 9 10 #入栈,先判断栈是否已经满了 11 def push(self,content): 12 if self.Full(): 13 print "Stack if full!" 14 else: 15 self.stack.append(content)#数据加入栈中,append()增加内容 16 self.top=self.top+1#修改栈顶指针 17 18 #出栈 19 def out(self): 20 if self.Empty():#判断栈是否为空 21 print "Stack is Empty!" 22 else: 23 self.top=self.top-1#栈顶指针减一 24 25 def Full(self): 26 if self.top==self.size:#栈顶指针定于栈的大小 27 #print"Stack is Empty!" 28 return True 29 else: 30 return False 31 32 def Empty(self): 33 if self.top==-1: 34 return True 35 else: 36 return False 37 def printStack(self): 38 i = self.top 39 print "amount of elements:{0}".format(self.top + 1) 40 while i >= 0: 41 print self.stack[i] 42 print "--" 43 i -= 1 44 ''' 45 st=Stack(7) 46 Stack.Empty(st) 47 Stack.push(st,"hello") 48 Stack.Empty(st) 49 Stack.Full(st) 50 Stack.push(st,"7") 51 Stack.printStack(st) 52 Stack.out(st) 53 Stack.out(st) 54 Stack.Empty(st) 55 ''' 56 st=Stack(3) 57 st.printStack() 58 st.push(1) 59 st.printStack() 60 st.push(2) 61 st.printStack() 62 st.push(3) 63 st.printStack() 64 st.push(4) 65 st.printStack() 66 st.Full() 67 #st.push(5) 68 #st.printStack() 69 70
运行结果如图所示:
运行结果解释:
栈的空间是4,因为第一个数据是0,空间是3=1=4
push()5个才出现是因为4的时候没有再次进行判断。
Full()加上print()再执行就有显示栈满。
所以栈的空间为4尔不是5.
三、Python 常见数据结构-队列
队列在队尾插入,队首删除。
代码示例:
1 #coding=utf-8 2 #队列的实现 3 class Queue1: 4 5 #初始化队列 6 def __init__(self,size): 7 self.queue=[] 8 self.size=size 9 self.head=-1 10 self.tail=-1 11 12 def enQueue(self,contest): 13 if self.Full(): 14 print "Queue if full!" 15 else: 16 self.queue.append(contest) 17 self.tail=self.tail+1 18 def outQueue(self): 19 if self.Empty(): 20 print "Queue is Empty" 21 else: 22 self.head=self.head+1 23 24 def Empty(self): 25 if self.tail==self.head: 26 return True 27 else: 28 return False 29 30 def Full(self): 31 if (self.tail-self.head)==self.size: 32 print "Queue if full" 33 return True 34 else: 35 return False 36 37 qz=Queue1(3) 38 qz.enQueue(1) 39 qz.enQueue(2) 40 qz.enQueue(3) 41 qz.Empty() 42 qz.enQueue(4)
运行结果如下图:
2016-04-21 02:10:26
转载于:https://www.cnblogs.com/chance88/p/5415304.html
python入门(七)相关推荐
- Python入门七:安装支持WinXp运行的Python及环境配置
之前安装的Python开发的程序无法在WinXp上运行,这里记录下安装支持Xp系统的Python及环境配置 之前程序在Xp上运行的错误: 无法定位程序输入点 GetFinalPathNameByHan ...
- python入门(六)——python数据容器
系列文章目录 python入门(一)--你好python python入门(二)--python基础语法 python入门(三)--python判断语句 python入门(四)--python循环语句 ...
- python入门(一)——你好python
系列文章目录 python入门(二)--python基础语法 python入门(三)--python判断语句 python入门(四)--python循环语句 python入门(五)--python函数 ...
- 《假如编程是魔法之零基础看得懂的Python入门教程 》——(七)我把魔法变成了积木
学习目标 了解魔法积木的使用--自定义函数 了解魔法积木的结果反馈--自定义函数返回值 了解魔法积木的原料传递--自定义函数传参 了解魔法积木的类型分类--类与对象 推荐 1.<备受好评的看得懂 ...
- 蘑菇云「行空板Python入门教程」第七课:舒尔特方格小游戏
注意力是一切学习的根本,是大脑进行感知.学习.思维等认知活动的基本条件.然而,无论是孩子还是成年人,我们常常会因开小差.注意力无法集中而困扰.此时,找到一个合适的方法来训练我们的注意力势在必行. 舒尔 ...
- python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...
针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...
- python入门只需20分钟-史上最详细python学习路线-从入门到精通,只需5个月时间...
针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...
- 没有任何基础的可以学python吗-对没有编程基础的人来说,直接学Python入门IT合适吗?...
原标题:对没有编程基础的人来说,直接学Python入门IT合适吗? 对于0基础的人,直接学 Python 编程合适吗? 小编只能说非常合适,因为在目前的编程语言中,Python的抽象程度是最高的,是最 ...
- python入门编程-对没有编程基础的人来说,直接学Python入门IT合适吗?
原标题:对没有编程基础的人来说,直接学Python入门IT合适吗? 对于0基础的人,直接学 Python 编程合适吗? 小编只能说非常合适,因为在目前的编程语言中,Python的抽象程度是最高的,是最 ...
最新文章
- 马云:腾讯不是阿里要打败的对手,是同为社会创造价值的伴侣
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的连接恢复和命令拦截...
- 文章 图片 PHP保存,关于文章图片储存
- 如何用python画一朵玫瑰花-使用Python画一朵美丽的玫瑰花
- python3.7安装numpy模块-Python3.7模块numpy
- 转载:Linux查看设置系统时区
- 云原生时代 RocketMQ 运维管控的利器 - RocketMQ Operator
- 数据库设计注意事项和原则
- Spring基于Annotation装配Bean
- 学习node js 之微信公众帐号接口开发 准备工作
- php mysql完全学习手册 下载_PHP+MySQL完全学习手册
- UITableViewCell高度自适应变化
- C语言二级题库带答案+解析
- dosbox详细安装级及使用
- 新手玩荔枝派 f1c100s nano折腾笔记(四)
- 【个人博客网页模板】
- rtthread学习之(3)——STM32系列BSP外设驱动使用教程
- 包装严重的 IT 圈,作为面试官,是如何甄别应聘者呢?
- 阿里云Docker仓库
- Keil:Undefined symbol ......(referred from......)解决