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 ...
随机推荐
- JavaScript常用方法
判断运行客户端 function isPhone() { var flag = false; var userAgentInfo = navigator.userAgent; var Agents = ...
- Android学习笔记_40_系统结构 目录结构
1.系统结构: 一.应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序.电话拨号程序.图片浏览器.Web浏览器等应用程序.这些应用程序都是用Java语言编写 ...
- 【题解】洛谷P1463 [POI2002][HAOI2007] 反素数(约数个数公式+搜索)
洛谷P1463:https://www.luogu.org/problemnew/show/P1463 思路 约数个数公式 ai为质因数分解的质数的指数 定理: 设m=2a1*3a2*...*pak ...
- Spring8中lambda表达式的学习(Function接口、BiFunction接口、Consumer接口)
代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { re ...
- 表达式过滤器 uppercase
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- linux 使用sqlite3
:c中使用sqlite3需要调用函数接口操作: sqlite3 *db; int status=sqlite_open("dbname",&db);//打开或者创建数据库 ...
- js判断手机登陆用户
uaredirect.js function uaredirect(f){try{if(document.getElementById("bdmark")!=null){retur ...
- Restrramework源码(包含组件)分析
1.总体流程分析 rest_framework/view.py 请求通过url分发,触发as_view方法,该方法在ViewSetMixin类下 点进去查看as_view源码说明,可以看到它在正常情况 ...
- 打包上传appsto错误 ERROR ITMS-90087: 和WARNING ITMS-90080: 问题
第一个错误 (Hyphenate.framework可以看粗是环信问题) ERROR ITMS-90087: "Unsupported Architectures. The executab ...
- c# 开发可替换的通用序列化库
开篇继续吹牛.... 其实没有什么可吹的了,哈哈哈哈哈 主要是写一个通用库,既可以直接用,又方便替换,我的序列化都是采用第三方的哈. 我不上完整代码了,只是给大家讲讲过程. 1.写一个序列化的类,我是 ...