operator模块常见方法介绍
operator.concat(a, b)
对于 a、b序列,返回 a + b(列表合并)
---------------------------------
operator.countOf(a, b)
返回 b 在 a 中出现的次数
perator.delitem(a, b)
删除 a 中索引为 b 的值
operator.getitem(a, b)
返回 a 中索引为 b 的值
operator.indexOf(a, b)
返回 b 在 a 中首次出现位置的索引值。
operator.setitem(a, b, c)
设置 a 中索引值为 b 的项目值更改为 c
operator 模块也为属性和项目的查找提供了一些工具。这些工具使得 map(), sorted(), itertools.groupby() 或其他函数 需要的参数的提取更方便更快速。上面的函数有一个共同点,即均接受函数参数。
operator.attrgetter(attr)
operator.attrgetter(*attrs)
返回一个可调用的对象,该对象从运算中获取 'attr' 。如果请求的属性不止一个的话, 返回属性的元组。这些属性的名字可以包括 '.'。
比如:
f = attrgetter('name'),调用f(b)返回b.namef = attrgetter('name', 'date'), 调用f(b)返回(b.name, b.date)f = attrgetter('name.first', 'name.last'), 调用f(b)返回(b.name.first, b.name.last)
operator.itemgetter(item)
operator.itemgetter(*items)
返回一个可调用的对象,该对象通过运算符的 __getitem__()的方法 从运算中获取 item 。如果指定了多个 item , 返回查找值的元组。
比如:
f = itemgetter(2), 调用f(r)返回r[2]g = itemgetter(2, 5, 3), 调用 f(r) 返回(r[2], r[3], r[3])
相当于:
def itemgetter(*items):
if len(items) == 1:
item = items[0]
def g(obj):
return obj[item]
else:
def g(obj):
return tuple(obj[item] for item in items)
return g
运算符的 __getitem__()方法可接受任意类型的项目。字典接收任意的哈希值。列表、元组和字符串接收一个索引或字符片段。
>>> itemgetter(1)('ABCDEFG')
'B'
>>> itemgetter(1,3,5)('ABCDEFG')
('B', 'D', 'F')
>>> itemgetter(slice(2,None))('ABCDEFG')
'CDEFG'
使用 itemgetter() 从元组序列中获取指定的域值,比如:
>>> inventory = [('apple', 3), ('banana', 2), ('pear', 5), ('orange', 1)]
>>> getcount = itemgetter(1)
>>> map(getcount, inventory)
[3, 2, 5, 1]
>>> sorted(inventory, key=getcount)
[('orange', 1), ('banana', 2), ('apple', 3), ('pear', 5)]
operator模块常见方法介绍的更多相关文章
- Java多线程系列2 线程常见方法介绍
守护线程 执行一些非业务方法,比如gc.当全部都是守护线程的时候,jvm退出 线程优先级 设置线程优先级:setPriority(int priorityLevel).参数priorityLevel ...
- Python 中的 os 模块常见方法?
os.remove() 删除文件 os.rename() 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir() 改变目录 os.mkdir/makedirs 创建目录/多层目 ...
- 【Python】operator 模块简单介绍
简单介绍几个常用的函数,其他的请参考文档. operator.concat(a, b) **operator.__concat__(a, b)** 对于 a.b序列,返回 a + b(列表合并) -- ...
- python全栈开发day29-网络编程之socket常见方法,socketserver模块,ftp作业
一.昨日内容回顾 1.arp协议含义 2.子网,子网掩码 3.两台电脑在网络中怎么通信的? 4.tcp和udp socket编码 5.tcp和udp协议的区别 6.tcp三次握手和四次挥手,syn洪攻 ...
- Linux awk命令常见使用方法介绍
Linux awk命令常见使用方法介绍 By:授客 QQ:1033553122 awk运行方式有三种,其中常用的为命令行方式 awk [-F field_separator] '{patter ...
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...
- python标准库介绍——8 operator 模块详解
==operator 模块== ``operator`` 模块为 Python 提供了一个 "功能性" 的标准操作符接口. 当使用 ``map`` 以及 ``filter`` 一类 ...
- python正则表达式之re模块方法介绍
python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) ...
- operator模块和functools模块
operator模块 在函数式编程中,经常需要把算术运算符当作函数使用.例如,不使用 递归计算阶乘.求和可以使用 sum 函数,但是求积则没有这样的函数. 我们可以使用 reduce 函数(5.2.1 ...
随机推荐
- tomcat高并发配置调优
最近部署的tomcat,里面放了一个apk提供给测试人员测试,而有一天压测的时候,他们一致反馈下载不了,结果查看日志才发现如下错误: [html] view plain copy INFO: Maxi ...
- python中统计计数的几种方法
以下实例展示了 count() 方法的使用方法: 1 2 3 4 5 6 # !/usr/bin/python3 T = (123, 'Google', 'Runoob', 'Taobao', 1 ...
- jquery阻止事件冒泡的方法
$("table tbody").click(function(e) { e.preventDefault(); //阻止自身的事件,并不能阻止冒泡 e.stopPropagati ...
- Nginx基础笔记
压力测试工具:ab ab -n 请求数 -c 并发数 请求url Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 特点 ...
- 学号20145303 《Java程序设计》第一周学习总结
学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...
- Jquery5 基础 DOM 和 CSS 操作
学习要点: 1.DOM 简介 2.设置元素及内容 3.元素属性操作 4.元素样式操作 5.CSS 方法 DOM 是一种文档对象模型.方便开发者对HTML 结构元素内容进行展示和修改.在 JavaScr ...
- Windows窗体应用程序常用的几个类的属性、方法以及事件
System.Diagnostics.Process 属性 public bool EnableRaisingEvents { get; set; }//获取或设置在进程终止时是否应激发 Exited ...
- 【ML数学知识】极大似然估计
它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...
- Excel转化成DataTable实现:NPOI和OLEDb
使用两种方式实现的excel数据转化成DataSet,再结合前一篇的DataTable转化为实体,就可以解决excel到实体之间的转化. 代码如下: 首先定义一个接口: public interfac ...
- JSch 实现 SSH 端口转发
package com.yinger.webservice.test; import java.sql.Connection; import java.sql.DriverManager; impor ...