list函数用法总结
- append()
把新元素加到list
的末尾 - insert(index, item)
把item
添加到位于索引号index
的位置 - pop()
删除掉list
的最后一个元素,并打印这个元素 - pop(index)
删除掉位于索引号index
位置的元素并打印这个元素
Note:list
为有序集合,所包含的元素并不要求必须是同一种数据类型
栈
栈(stack)具有后入先出(Last In First Out)特点。
#-*-coding=utf-8-*-
#基于list的栈实现
class stack:
def __init__(self):
self.items = []
def push(self,item): #添加元素
return self.items.append(item)
def is_empty(self):
return len(self.items)==0
def pop(self): #删除栈首元素并返回该元素
if self.is_empty():
raise StackUnderflow('in pop')
else:
print self.items.pop()
def peek(self): #查看栈首元素
if self.is_empty():
print "Empty Stack"
else:
return self.items[len(self.items)-1]
def get_size(self): #获取栈的大小
return len(self.items)
def clear(self): #清空栈
self.items = []
#创建栈对象
s = stack()
s.push('ab')
print s.get_size()
s.clear()
print s.get_size()
队列
队列(queue)具有先进先出(First In First Out)特点。
#-*-coding=utf-8-*-
#基于list的队列实现
class queue:
def __init__(self):
self.items = []
def enqueue(self,item): #在list首插入元素
return self.items.insert(0, item)
def is_empty(self):
return len(self.items)==0
def dequeue(self): #在list尾删除元素并打印该元素
if self.is_empty():
raise queueUnderflowError('in dequeue')
else:
print self.items.pop()
def get_size(self): #获取队列的大小
return len(self.items)
def get_queue(self): #获取队列的现有元素
print self.items
#创建队列对象
q = queue()
q.enqueue(1)
q.enqueue(2)
print q.get_size()
q.get_queue()
q.enqueue(3)
q.get_queue()
q.dequeue()
q.get_queue()