1、set集合:去掉重复字段

set.difference()找出不同并创建一个新的集合,不改变原来集合;

set.difference_update() 改变原来集合,剔除掉括号内容;

set.discard() 移除元素;

set.intersection() 取交集;

set.symmetric_difference() 对称差,差集。

2、set.difference() 与 set.symmetric_difference() 对比

#!/usr/bin/env python3

s1 = set([11,22,33])
     s2 = set([22,44])
     ret1 = s1.difference(s2)
     ret2 = s1.symmetric_difference(s2)
     print(ret1)
     print(ret2)

运行结果:{33, 11}  {33, 11, 44}   ret1只循环了s1,ret2循环了s1后又循环了s2,循环2次。

3、collections系列:

counter 计数器;

most_common 取前几位;

elements() 原生的值;

subtract() 相减,减去括号内出现的次数;

orderedDict 有序字典;

defaultdict 默认字典;

4、#!/usr/bin/env python3
     import collections
     f = collections.Counter('abcdabcdaabbd')
     print(f)

运行结果:Counter({'a': 4, 'b': 4, 'd': 3, 'c': 2})

5、collections.namedtuple() 可命名元祖
     #!/usr/bin/env python3
     import collections
     mytupleclass = collections.namedtuple('mytupleclass',['x','y','z'])
     obj = mytupleclass(11,22,33)
     print(obj.x)
     print(obj.y)
     print(obj.z)

运行结果:11 22 33

6、deque 队列

7、copy.copy() 浅拷贝

copy.deepcopy() 深拷贝

#!/usr/bin/env python3

import copy

dic = {     "cpu":[80],     "mem":[80],     "disk":[80] }

print('before',dic)

new_dic = copy.copy(dic)

new_dic['cpu'][0] = 50

print(dic)

print(new_dic)

运行结果:

before {'cpu': [80], 'mem': [80], 'disk': [80]}

{'cpu': [50], 'mem': [80], 'disk': [80]}

{'cpu': [50], 'mem': [80], 'disk': [80]}

#!/usr/bin/env python3

import copy

dic = {     "cpu":[80],     "mem":[80],     "disk":[80] }

print('before',dic)

new_dic = copy.deepcopy(dic)

new_dic['cpu'][0] = 50

print(dic)

print(new_dic)

运行结果:

before {'cpu': [80], 'mem': [80], 'disk': [80]}

{'cpu': [80], 'mem': [80], 'disk': [80]}

{'cpu': [50], 'mem': [80], 'disk': [80]}

8、函数

#!/usr/bin/env python3

import smtplib

from email.mime.text import MIMEText

from email.utils import formataddr

def mail():

ret = 'success'

try:

msg = MIMEText('邮件内容','plain','utf-8')

msg['From'] = formataddr(["111",'1111@qq.com'])

msg['To'] = formataddr(["222",'2222@qq.com'])

msg['Subject'] = "主题"

server = smtplib.SMTP("smtp.qq.com",25)

server.login("1111@qq.com","输入邮箱密码")

server.sendmail('1111@qq.com',['2222@qq.com',],msg.as_string())

server.quit()

except Exception:

ret = 'fail'

return ret

ret = mail()

print(ret)

运行结果:fail,实验使用真实邮箱获得结果为success。

python学习之路 第三天的更多相关文章

  1. 大数据萌新的Python学习之路(三)

    笔记内容:  一.集合及其运算 在之列表中我们可以存储数据,并且对数据进行各种各样的操作.但是如果我们想要对数据进行去重时是十分麻烦的,需要使用循环,要建立新的列表,还要 进行对比,十分的麻烦,还消耗 ...

  2. Python学习之路 (三)爬虫(二)

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联 ...

  3. python学习之路-第三天-函数

    函数 函数的定义关键字:def 使用global语句可以清楚地表明变量是在外面的块定义的 示例:(函数运行完毕后x的值是2) #!/usr/bin/python # Filename: func_gl ...

  4. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  5. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  6. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  7. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  8. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

  9. python学习之路------你想要的都在这里了

    python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...

随机推荐

  1. EXCEL中多级分类汇总空白字段填充

    使用场景,多级分类汇总后,在汇总的字段中显示空白,这样对我们直接取值做表带来十分不更(假像有5000条记录,1000条汇总项) 相关技术,INDIRECT函数,单元格定位功能. 在数据区域外任意一个单 ...

  2. PHP 策略模式

    策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.策略模式把对象本身和运算规则区分开来,其功能非常强大,因为这个设计模式本身的核心思想 ...

  3. Jquery元素选取、常用方法

    一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...

  4. Threejs中的材质贴图

    最近项目需要折腾three.js,有关three.js几点说明 1.作用 threejs适合创建简单的模型视图 2.对于复杂的模型图(如:室内模型图)需要美术3D制作,前端导成特定格式文件(如*.mt ...

  5. css和@import区别用法

    css和@import都是调用外部样式表的方法. 一.用法 (1)link: <link rel="stylesheet" type="text/css" ...

  6. FineReport制作可动态展开的组织递归树报表

    先看看效果: 报表软件:FineReport 1.分析-与正常查询的对比 如果不做这种树状结构展开的报表的话,正常的SQL应该是这样写的,以单据表为例,假设单据的机构为分公司,经营部 select 分 ...

  7. 地图中插入表格——ArcMap篇

    在制作专题图的过程中,不但要有地理要素表示空间位置,经常还要在图的周围制作一些表格数据.这里对ArcMap中的插入方法进行总结. 方法一:插入对象 利用菜单中的"插入"-" ...

  8. iOS报错[__NSCFNumber length]: unrecognized

    出现这种报错很大的原因是因为类型给错了,或许你这个数据是从json上解析后得到的,但是需要看一下这个数据是NSString还是NSNumber类型,如果是NSNumber类型的话,你又直接使用NSSt ...

  9. Linux vim编辑器使用详解

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...

  10. java正则表达式

    java正则表达式 1.Java正则表达式的语法与示例:  http://baike.xsoftlab.net/view/207.html 2.Java 正则表达式:  http://www.runo ...