python学习总结----简单数据结构
mini-web服务器
- 能够完成简单的请求处理
- 使用http协议
- 目的:加深对网络编程的认识、为后面阶段学习web做铺垫
简单数据结构
- 排列组合
import itertools
# 排列:从m个元素中提取n个,所有可能就是排列(有顺序)
# 当m等于n时的排列称为全排列
# it = itertools.permutations([1, 2, 3], 3)
# 组合:没有顺序的排列
# it = itertools.combinations([1, 2, 3, 4], 2)
# 笛卡尔乘积:多个序列中的元素组合
# it = itertools.product([1, 2], [3, 4], [5, 6])
# 上面多个相同序列的场景
it = itertools.product([1, 2], repeat=3)
print(it)
for i in it:
print(i)
# 可以转换为列表
# print(list(it1))
- 计数器及双向队列
from collections import Counter, deque
# 统计序列中元素出现的次数
c = Counter([1, 2, 3, 4, 1, 2, 3, 1, 2, 1])
print(c)
print(type(c))
# 可以转换为字典
print(dict(c))
# 双向队列
d = deque([1, 2, 3])
# 右侧追加
d.append(4)
# 左侧添加
d.appendleft(5)
# 右侧弹出数据
print(d.pop())
# 左侧弹出数据
print(d.popleft())
# 右侧扩展
d.extend(['a', 'b', 'c'])
# 左侧扩展
d.extendleft(['aa', 'bb', 'cc'])
# 循环移动:正数表示向右移动,负数表示向左移动
# d.rotate(1)
d.rotate(-1)
print(d)
print(list(d))
- 链表
- 添加节点
- 追加节点
- 插入节点
- 删除节点
图片处理
- 说明:通常对图片的操作有:缩放、旋转、翻转、裁剪、滤镜、画图等。
- 扩展库:PIL,只支持py2,需要安装pillow库之后才能支持py3
- 安装:pip install pillow
- 预备知识:
- 颜色:R(红)、G(绿)、B(蓝)、A(透明)
- 坐标:(0, 0)坐标在图片的左上角,向右表示水平的正方向,向下表示垂直的正方向。
- 验证码:
from PIL import Image, ImageFont, ImageDraw, ImageFilter
from random import randint
# 产生随机的颜色
def rand_color():
return (randint(128, 255), randint(128, 255), randint(128, 255))
# 创建图片
img = Image.new('RGB', (200, 50), 'white')
# 创建字体
font = ImageFont.truetype('xdxwz.ttf', 30)
# 创建画笔
draw = ImageDraw.Draw(img)
# 写字
for i in range(4):
draw.text((i*50+15, 0), 'A', font=font, fill='black')
# 画干扰点
for i in range(100*50):
x = randint(0, 200)
y = randint(0, 50)
draw.point((x, y), fill=rand_color())
# 使用滤镜,会生成新的图片
img = img.filter(ImageFilter.GaussianBlur)
# 展示图片,会调出系统的图片查看器
img.show()
py2与py3的区别
- 说明:见pdf文件
python学习总结----简单数据结构的更多相关文章
- Python学习 Part3:数据结构
Python学习 Part3:数据结构 1. 深入列表: 所有的列表对象方法 list.append(x): 在列表的末尾添加一个元素 list.extend(L): 在列表的末尾添加一个指定列表的所 ...
- python学习笔记五——数据结构
4 . python的数据结构 数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码.python提供的几种内置数据结构——元组.列表.字典和序列.内置数据结构是Python语言的精 ...
- Python学习笔记系列——数据结构相关
Python有4种数据结构:列表(list).字典(dictionary).元组(Tuple).集合(set).从最直接的感官上来说,这四种数据结构的区别是:列表中的元素使用方括号括起来,字典和集合是 ...
- Python学习 —— 实现简单的爬虫
为了加快学习python3.x,查了许多资料后写了这个脚本,这个脚本主要是爬取百度图片'东方幻想乡'的图片,但还是有很多问题存在. 下面给出代码: # 更新了一下代码 from urllib impo ...
- python学习之常用数据结构
前言:数据结构不管在哪门编程语言之中都是非常重要的,因为学校的课程学习到了python,所以今天来聊聊关于python的数据结构使用. 一.列表 list 1.列表基本介绍 列表中的每个元素都可变的, ...
- Python学习笔记——基本数据结构
列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...
- Python学习笔记(3)--数据结构之列表list
Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...
- Python 学习(1) 简单的小爬虫
最近抽空学了两天的Python,基础知识都看完了,正好想申请个联通日租卡,就花了2小时写了个小爬虫,爬一下联通日租卡的申请页面,看有没有好记一点的手机号~ 人工挑眼都挑花了. 用的IDE是PyCh ...
- python学习:简单的wc命令实现
#!/usr/bin/python import sys import os try: fn = sys.argv[1] except IndexError: print &q ...
随机推荐
- 【luogu P1268 树的重量】 题解
题目链接:https://www.luogu.org/problemnew/show/P1268 给定所有点间的最短路求原图所有路径和 形如: 我们需要计算红边+绿边 绿边 = (红边+蓝边+紫边)/ ...
- 初入AngularJS基础门
作为mvvm 框架过重 不适用于性能比较高的移动端的web栈, ui组建性对复杂,不利于重用 AngularJS 构建一个CRUD ( create retrieve update delete )的 ...
- 1080Ti+ubuntu14.04
我来回折腾了几天,从装了好几次系统,后来问了我同学才知道原来是驱动版本的问题,唉,第一次跑去nvidia看他们的online doc.我是相当的郁闷,敢不敢弄得简单点啊,我是电脑小白啊,硬件一窍不通啊 ...
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Kaiming He, Xiangyu Zh ...
- o'Reill的SVG精髓(第二版)学习笔记——第三章
第三章:坐标系统 3.1视口 文档打算使用的画布区域称作视口.我们可以在<svg>元素上使用width和height属性确定视口的大小.属性的值可以是一个数字,该数字会被当作用户坐标下的像 ...
- Java中Lambda表达式的简单使用
Lambda表达式是Java SE 8中一个重要的新特性.你可以把 Lambda表达式 理解为是一段可以传递的代码 (将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格 ...
- java对象中的三种状态和脏检查及刷新缓存机制
瞬时状态 瞬时状态又称临时状态.如果java对象与数据库中的数据没有任何的关联,即此java对象在数据库中没有相关联的记录,此时java对象的状态为瞬时状态,session对于 瞬时状态的ava对象是 ...
- react初学
react和vue一样都是mvvm的这种开发模式. 下载js文件 引入HTML文件里 <!DOCTYPE html> <html> <head> <scrip ...
- 【acl-访问控制列表】
配置acl访问控制列表{ firewall enable:开启路由器防火墙功能 fire default {permit || deny}:设置防火墙的默认行为: acl number[2000,29 ...
- I/O流、序列化
1)流序列化对象ObjectOutputStream调用writerObject写出序列化对象,ObjectInputStream调用readObject读取序列化对象,序列化的对象必须要实现Seri ...