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 ...
随机推荐
- Android学习笔记_15_网络通信之文件断点下载
一.断点下载原理: 使用多线程下载文件可以更快完成文件的下载,多线程下载文件之所以快,是因为其抢占的服务器资源多.如:假设服务器同时最多服务100个用户,在服务器中一条线程对应一个用户,100条线程在 ...
- linux下通过源码安装git
1.移除旧版本git [root@Git ~]# git --version ## 查看自带的版本git version 1.8.3.1 [root@Git ~]# yum remove git ## ...
- 小白袍 -- Chapter 1.4.1.1 URL编码的理论解读
1.4.1.1 URL编码的理论解读 我们在做JavaWeb时避不过GET请求,GET请求和POST请求最大一点不同就在于参数,GET请求的参数会URL中,而POST请求的参数则会在HTTP Hea ...
- HTML5笔记——第一节
我的第一个网页 <!--html的基础模板--><!--html hyperText markup Language--><!--声明文档类型--><!DOC ...
- 全局变量重复定义,fatal error LNK1169: 找到一个或多个多重定义的符号
1.在GlobeValue.h中定义了一个变量: char gl_UID[256]; 2.在b.cpp和e.cpp中分别引用GlobeValue.h,并且使用gl_UID的全局变量, 结果出现:fat ...
- SAP存储税率税码的相关表
T007A 稅關鍵字 T007B 會計中的稅務處理 T007C Groupings for tax codes T007D 賦稅群組的內文 T007F 銷項 / 進項群組的稅 T007G 不再使用該表 ...
- 微信订阅号 获取用户基本信息,登录及 php
<?php //echo file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr ...
- Flask中异常捕获
HTTP 异常主动抛出 abort 方法 抛出一个给定状态代码的 HTTPException 或者 指定响应,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404). 参数: cod ...
- mongo数据库相关目录
mongodb的docker化安装 mongodb的windows系统下安装 grafana使用Prometheus数据源监控mongo数据库 mongodb副本集的docker化安装 mongodb ...
- sbt打包error(sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-streaming;2.3.1: not found)
解决方法: 修改simple.sbt文件: cd /usr/local/spark/myapp/TestStream vim simple.sbt 切记:中间相连部分两个百分号一定要写上