队列的概念 只允许在一端插入数据操作,在另一端进行删除数据操作的特殊线性表:进行插入操作的一端称为队尾(入队列),进行删除操作的一端称为队头(出队列):队列具有先进先出(FIFO)的特性. # _*_ coding=utf-8 _*_ class Queue(object): def __init__(self, size=100): self.queue = [0 for _ in range(size)] self.size = size self.rear = 0 self.front =…
class Stack(object): """ 使用列表实现栈 """ def __init__(self): self.stack = [] def push(self, element): """ 添加元素进栈 :param element: :return: """ self.stack.append(element) def pop(self): ""&qu…
首先 我们要分清楚一些概念和他们之间的关系 数组(array)  表(list)  链表(linked list)  数组链表(array list)   队列(queue)  栈(stack) list列表 array数组 python中内置list数据结构 存放的数据类型可以不同. 但是有个缺点 list存放的是数据的索引也就是指针 这需要数据的原有存储加上数据的指针 增加了消耗 python中numpy库的array 存放单一类型数据 python中数组并不是基本数据类型 但是可以调用ar…
第9章 数据结构 数据结构,即可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python 有三种内建的数据结构--列表.元组和字典. list = ['item1', 'item2', 'item3', 'item4'] len(list) 列表长度 list.append('item5') 为列表添加一个项目 sort(list)  对列表进行排序 del(list[0])  删除列表中的第一个元素 tuple = ('item1', 'item2', 'item3', 'i…
列表实现队列操作(FIFO),可以使用标准库里的 collections.deque,deque是double-ended quene的缩写,双端队列的意思,它可以实现从队列头部快速增加和取出对象. >>> from collections import deque >>> queue = deque(["Eric", "John", "Michael"]) >>> queue.append(…
把列表当做队列使用,只是在列表中第一个加入的元素,第一个提取出来,拿列表当做队列用,效率并不高.在列表中最后添加或者删除元素速度很快,然而从列表里插入或者从头弹出速度却不快,因为其他所有元素都要一个一个移动. 1 from collections import deque 2 3 queue = deque(['Eric','John','Michael']) #定义队列 4 5 queue.append('Terry') #将字符串Terry追加到队列末尾 6 print(queue) #打印…
Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程的执行. 示例1:主线程和子线程间通信,代码模拟连接服务器 1 import threading 2 import time 3 event=threading.Event() 4 5 def foo(): 6 print('wait server...') 7 event.wait() #括号里可…
Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习.日志.代码分析等.由伯乐在线持续更新. Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大.这也是我们发起这…
#!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将列表当做堆栈使用列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出).用 append() 方法可以把一个元素添加到堆栈顶.用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来.'''a = [1,2,3,4]a.append(5…
2018年刚刚过完年,从今天起,做一个认真的技术人.开始进入记笔记阶段. python内置了很多数据结构,list , set,dictionary 1.将序列分解为单独的变量 1.1 通过赋值的方式,只要等号左右的变量个数与结构与序列一致 p=(4,5) x,y=p 1.2不只是序列,只要是可迭代的对象,都可以进行分解 s='hello' a,b,c,d,e = s 如果想丢弃某些变量, 可以选一个用不到的变量,作为丢弃值的名称. data=['ABC',  50, (2012,1,2)] _…