首页 > 编程 > Python > 正文

python 内置模块详解

2020-02-16 00:25:58
字体:
来源:转载
供稿:网友

一.random模块  随机      

random()    随机小数           
uninform(a,b) 随机小数
randint(a,b)  随机整数
choice() 随机选择一个
sample() 随机选择多个
shuffle() 打乱

 import random from random import randint  print(randint(10, 20)) # print(random.randint(10, 20))/ print(random.random()) print(random.uniform(10, 20)) # 10-20的随机小数  lst = ['宝宝', '宝浪', '宝强', '包拯'] random.shuffle(lst) # 随机打乱顺序 print(lst)   # 从列表中随机选择一个 print(random.choice(["林志玲", "刘一菲", "王昭君", "艾米", "宝宝"])) print(random.sample(["林志玲", "刘一菲", "王昭君", "艾米", "宝宝"],3)) # 可以给随机选取几个

二.Counter 计数

 from collections import Counter  print(Counter('宝宝今年特别喜欢王宝强')) # 计数  lst = ['jay', 'jay', 'jay', '宝宝', '宝宝', '胡辣汤', '上官婉儿'] c = Counter(lst) print(c.get('宝宝'))

三.字典

1.默认值字典

 from collections import defaultdict  dd = defaultdict(lambda: '胡辣汤') # callable 可调用的, 字典是空的  print(dd['张无忌']) # 从字典向外拿数据. 字典是空的. key:callable() print(dd['宝宝']) # 这里的[] 和get() 不是一回事儿 print(dd)

2.有序字典

 from collections import OrderedDict  dic = OrderedDict() # 有序字典 dic['a'] = '哈哈' dic['b'] = '呵呵' print(dic) print(dic.get('a')) print(dic.values()) print(dic['a'])

四.栈和队列

1.栈

特点:先进后出

 class StackFullException(Exception):   pass  class StackEmptyException(Exception):   pass class Stack:    def __init__(self,size):     self.size = size 给定存放数据的长度     self.lst = [] # 存放数据的列表     self.top = 0 # 栈顶指针    # 入栈   def push(self, el):     if self.top >= self.size:       raise StackFullException('your stack is full!!')     self.lst.insert(self.top, el) # 放元素     self.top += 1 # 栈顶指针向上移动一下     # 出栈    def pop(self):     if self.top == 0:       raise StackEmptyException('your stack is empty!!!')     self.top -= 1     el = self.lst[self.top]     return el  s = Stack(6) s.push('宝宝') s.push('我还') s.push('记得')  print(s.pop()) print(s.pop()) print(s.pop())

2.单项队列

特点:先进先出

 import queue q = queue.Queue() q.put('李嘉诚1') q.put('李嘉诚2') q.put('李嘉诚3') q.put('李嘉诚4') q.put('李嘉诚5')  print(q.get()) print(q.get()) print(q.get()) print(q.get()) print(q.get())

3.双向队列

特点:和单项一样

 from collections import deque  d =deque() # 创建双向队列 d.append('宝宝') # 在右侧添加 d.append('no') d.append('way') d.append('哈哈') d.appendleft('娃哈哈') # 在左边添加 d.appendleft('爽歪歪') d.appendleft('优酸乳')  print(d.pop()) # 从右边拿数据 print(d.pop()) # 从右边拿数据 print(d.pop()) # 从右边拿数据 print(d.pop()) # 从右边拿数据 print(d.popleft()) # 从左边拿数据 print(d.popleft()) # 从左边拿数据 print(d.popleft()) # 从左边拿数据            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表