一、列表内容对比

方式一:

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实践」学习之路相关推荐

  1. python实习内容过程_对Python实习的简单分析,也许可以帮到你

    昨天对实习僧抓取了90条Python实习的数据,今天做一个简单的分析. 因为实习僧网站上关于Python实习岗位太少,所以以下内容进仅供娱乐. 各个地点的平均日工资,南京竟然比上海还高.回去筛选一看, ...

  2. python羊车门问题_「羊车门」经典概率题中不换门选中车的概率是多少?

    今天用Python求解「羊车门」经典的概率问题,对概率学基础和Python语法的灵活运用有所收货. 本次「羊车门」求解过程采用的是:穷举法计算概率已验证概率学基础理论.期间重点借鉴了'奥卡姆剃刀的博客 ...

  3. python做地图导航_「Python」利用高德地图做你想做之事

    玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求. 此 ...

  4. python canvas画弧度_「万圣节教程」不给糖就捣乱,用Python绘制有趣的万圣节南瓜怪...

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...

  5. python 基金量化分析_「Python量化」怎么在基金定投上实现收益最大化

    我们也会有恐惧和贪婪,只不过在别人贪婪的时候我们恐惧,在别人恐惧的时候我们贪婪.--巴菲特 引言 继上一篇文章< Python数说指数定投策略>,今天为大家分享一篇推文(原文来源:SAMs ...

  6. python从零开始到精通_「Python 入门学习指南」0基础小白助你从入门到精通!

    Python比较简单,非常适合初学者入门,内置了各种库,还有丰富的大约13万第三方库,掌握了语法和编程思维后,可以直接使用这些库做出自己的产品.这篇 Python 入门学习指南,针对没有任何编程经验. ...

  7. python创建工作簿_「总结篇」Python中所有的Excel操作技巧

    Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import xlrd 1.引入xlrd模块 workbook=xlrd ...

  8. python闹钟界面程序_「Python编程」自由管理时间之编写一个小闹钟起床

    Python_时间管理 代码中的时间时间戳(Timestamp):1473525444 时间字符串(Format String):2015-02-14 11:25:11 结构化时间:(struct_t ...

  9. python字符串的内部函数_「Python」字符串操作内置函数

    目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...

最新文章

  1. 简短的几句js实现css压缩和反压缩功能
  2. CentOS4 可用镜像及更新方式
  3. Java中的抽象类和方法
  4. 【CyberSecurityLearning 附】python3-requests模块
  5. 《软件需求规格说明书》 ---学士之路
  6. tl r402路由器设置_tplink wr847n无线路由器如何设置 tplink wr847n无线路由器设置方法【详解】...
  7. win7系统桌面计算机怎么打的开,windows7系统双击计算机打不开怎么解决|win7双击计算机打不开的解决方法...
  8. windows文件路径大于MAX_PATH
  9. pmp 第六版 模拟卷1疑难问题
  10. 华为ne20路由器登陆密码_很好的文章,主要是关于密码学和NE的基础知识
  11. python抢票软件哪个好_50个抢票加速包,还不如这个Python抢票神器
  12. 瞻博网络持续深耕 以“本土化”撬动“中国心”
  13. 1.合宙Air32F103调试GPIO
  14. Android App包瘦身优化
  15. Python跟孩子一起学编程之一
  16. Python 让蔡徐坤在我的命令行里打篮球!
  17. 【翻译论文】 Supervised Parametric Classification of Aerial LiDAR Data(2004)
  18. RK平台USB摄像头FAQ
  19. 实验1 matlab图像处理初步,实验一 MATLAB数字图像处理初步
  20. 兆声清洗晶片过程中去除力的分析

热门文章

  1. 【C++】朝花夕拾——表达式树
  2. 巴塞尔问题(Basel problem)的多种解法——怎么计算$\frac{1}{1^2}+\frac{1}{2^2}+\frac{1}{3^2}+\cdots$ ?...
  3. WebRtc搭建 coturn
  4. Emacs之快捷键大全
  5. Mac安装iproute2/dig/traceroute
  6. tcpdump抓包+wireshark分析配合使用(二)
  7. 移动互联网实时视频通讯之视频采集
  8. inno setup 环境变量 立即生效_CentOS7设置环境变量
  9. windows 一键安装apache服务器 windows傻瓜式安装apache2 web服务器管理软件
  10. mysql 存储过程游标 循环输出select 查询结果