python实习内容过程_「Python实践」学习之路
一、列表内容对比
方式一:
import operator
l1 = ['a','b','c']
l2 = ['a','d','e']
print(operator.lt(l1,l2))
运行结果为True
方式二:
l1 = ['a','b','c']
l2 = ['a','d','e']
s1 = set(l1)
s2 = set(l2)
# s1&s2 #列表相同部分
if s1^s2:
print(s1^s2)
print('有不一样的')
else:
print('都一样')
运行结果:
{'d', 'b', 'e', 'c'}有不一样的
二、python中的[::-1]和sort()
1.原址排序
1)列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
1
2
3
x= [4,6,2,1,7,9]
x.sort()
print x# [1, 2, 4, 6, 7, 9]
2.副本排序
1)[:]分片方法
1
2
3
4
5
x=[4,6,2,1,7,9]
y= x[ : ]
y.sort()
print y#[1, 2, 4, 6, 7, 9]
print x#[4, 6, 2, 1, 7, 9]
注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。
2)sorted方法
sorted返回一个有序的副本,并且类型总是列表,如下:
1
2
3
4
x=[4,6,2,1,7,9]
y= sorted(x)
print y#[1, 2, 4, 6, 7, 9]
print x#[4, 6, 2, 1, 7, 9]
1
print sorted('Python')#['P', 'h', 'n', 'o', 't', 'y']
3、高级用法
1.自定义cmp比较函数
1
2
3
4
5
6
7
8
9
10
11
12
13
def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0
nums= [3,2,8 ,0 ,1]
nums.sort(comp)
print nums# 降序排序[8, 3, 2, 1, 0]
nums.sort(cmp)# 调用内建函数cmp ,升序排序
print nums# 降序排序[0, 1, 2, 3, 8]
2.自定义key和reverse
1.reverse实现降序排序,需要提供一个布尔值,默认为False(升序排列)。
2.key在使用时必须提供一个排序过程总调用的函数:
1
2
3
4
5
alist= [('2','3','10'), ('1','2','3'), ('5','6','7'), ('2','5','10'), ('2','4','10')]
# 多级排序,先按照第3个元素排序,然后按照第2个元素排序:
print sorted(alist,cmp = None, key= lambda x:(int(x[2]),int(x[1])), reverse= False)
-------------------------------------------------------------------------------------------
[('1','2','3'), ('5','6','7'), ('2','3','10'), ('2','4','10'), ('2','5','10')]
4、operator.itemgetter函数
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。
1
2
3
4
5
6
7
a= [1,2,3]
>>> b=operator.itemgetter(1)//定义函数b,获取对象的第1个域的值
>>> b(a)
2
>>> b=operator.itemgetter(1,0)//定义函数b,获取对象的第1个域和第0个的值
>>> b(a)
(2,1)
要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。
itemgetter在sort中的用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
from operatorimport itemgetter
alist= [('2','3','10'), ('1','2','3'), ('5','6','7'), ('2','5','10'), ('2','4','10')]
# 多级排序,先按照第3个元素排序,然后按照第2个元素排序:
print sorted(alist,cmp = None, key= itemgetter(2,1), reverse= False)
print sorted(alist,cmp = None, key= lambda x:itemgetter(2,1)(x), reverse= False)
print sorted(alist,cmp = None, key= lambda x:map(int, itemgetter(2,1)(x)), reverse= False)
--------------------------------------------------------------------------------------------------
[('2','3','10'), ('2','4','10'), ('2','5','10'), ('1','2','3'), ('5','6','7')]
[('2','3','10'), ('2','4','10'), ('2','5','10'), ('1','2','3'), ('5','6','7')]
[('1','2','3'), ('5','6','7'), ('2','3','10'), ('2','4','10'), ('2','5','10')]
[::]用法
a = [0,1,2,3,4,5,6,7,8,9]
b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象
b = a[1:3] 那么,b的内容是 [1,2]
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:]就相当于完整复制一份a了
b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1.
所以a[i:j:1]相当于a[i:j]
当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。所以你看到一个倒序的东东。
三、group()正则表达式
正则表达式中,group()用来提出分组截获的字符串,()用来分组
1
2
3
4
5
6
import re
a= "123abc456"
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0)#123abc456,返回整体
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1)#123
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2)#abc
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3)#456
python实习内容过程_「Python实践」学习之路相关推荐
- python实习内容过程_对Python实习的简单分析,也许可以帮到你
昨天对实习僧抓取了90条Python实习的数据,今天做一个简单的分析. 因为实习僧网站上关于Python实习岗位太少,所以以下内容进仅供娱乐. 各个地点的平均日工资,南京竟然比上海还高.回去筛选一看, ...
- python羊车门问题_「羊车门」经典概率题中不换门选中车的概率是多少?
今天用Python求解「羊车门」经典的概率问题,对概率学基础和Python语法的灵活运用有所收货. 本次「羊车门」求解过程采用的是:穷举法计算概率已验证概率学基础理论.期间重点借鉴了'奥卡姆剃刀的博客 ...
- python做地图导航_「Python」利用高德地图做你想做之事
玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求. 此 ...
- python canvas画弧度_「万圣节教程」不给糖就捣乱,用Python绘制有趣的万圣节南瓜怪...
关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...
- python 基金量化分析_「Python量化」怎么在基金定投上实现收益最大化
我们也会有恐惧和贪婪,只不过在别人贪婪的时候我们恐惧,在别人恐惧的时候我们贪婪.--巴菲特 引言 继上一篇文章< Python数说指数定投策略>,今天为大家分享一篇推文(原文来源:SAMs ...
- python从零开始到精通_「Python 入门学习指南」0基础小白助你从入门到精通!
Python比较简单,非常适合初学者入门,内置了各种库,还有丰富的大约13万第三方库,掌握了语法和编程思维后,可以直接使用这些库做出自己的产品.这篇 Python 入门学习指南,针对没有任何编程经验. ...
- python创建工作簿_「总结篇」Python中所有的Excel操作技巧
Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import xlrd 1.引入xlrd模块 workbook=xlrd ...
- python闹钟界面程序_「Python编程」自由管理时间之编写一个小闹钟起床
Python_时间管理 代码中的时间时间戳(Timestamp):1473525444 时间字符串(Format String):2015-02-14 11:25:11 结构化时间:(struct_t ...
- python字符串的内部函数_「Python」字符串操作内置函数
目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...
最新文章
- 简短的几句js实现css压缩和反压缩功能
- CentOS4 可用镜像及更新方式
- Java中的抽象类和方法
- 【CyberSecurityLearning 附】python3-requests模块
- 《软件需求规格说明书》 ---学士之路
- tl r402路由器设置_tplink wr847n无线路由器如何设置 tplink wr847n无线路由器设置方法【详解】...
- win7系统桌面计算机怎么打的开,windows7系统双击计算机打不开怎么解决|win7双击计算机打不开的解决方法...
- windows文件路径大于MAX_PATH
- pmp 第六版 模拟卷1疑难问题
- 华为ne20路由器登陆密码_很好的文章,主要是关于密码学和NE的基础知识
- python抢票软件哪个好_50个抢票加速包,还不如这个Python抢票神器
- 瞻博网络持续深耕 以“本土化”撬动“中国心”
- 1.合宙Air32F103调试GPIO
- Android App包瘦身优化
- Python跟孩子一起学编程之一
- Python 让蔡徐坤在我的命令行里打篮球!
- 【翻译论文】 Supervised Parametric Classification of Aerial LiDAR Data(2004)
- RK平台USB摄像头FAQ
- 实验1 matlab图像处理初步,实验一 MATLAB数字图像处理初步
- 兆声清洗晶片过程中去除力的分析
热门文章
- 【C++】朝花夕拾——表达式树
- 巴塞尔问题(Basel problem)的多种解法——怎么计算$\frac{1}{1^2}+\frac{1}{2^2}+\frac{1}{3^2}+\cdots$ ?...
- WebRtc搭建 coturn
- Emacs之快捷键大全
- Mac安装iproute2/dig/traceroute
- tcpdump抓包+wireshark分析配合使用(二)
- 移动互联网实时视频通讯之视频采集
- inno setup 环境变量 立即生效_CentOS7设置环境变量
- windows 一键安装apache服务器 windows傻瓜式安装apache2 web服务器管理软件
- mysql 存储过程游标 循环输出select 查询结果