Python--operateor 模块
来源:互联网 发布:网络女神小茉莉 编辑:程序博客网 时间:2024/05/21 02:36
来源:http://www.cnblogs.com/nju2014/p/5568139.html
文档:https://docs.python.org/2/library/operator.html#operator.delitem
简单介绍几个常用的函数,其他的请参考文档。
operator.concat(a, b)
operator.concat(a, b)
对于 a、b序列,返回 a + b
(列表合并)
---------------------------------
operator.countOf(a, b)
返回 b 在 a 中出现的次数
perator.delitem(a, b)
operator.delitem(a, b)
删除 a 中索引为 b 的值
operator.getitem(a, b)
operator.getitem(a, b)
返回 a 中索引为 b 的值
operator.indexOf(a, b)
返回 b 在 a 中首次出现位置的索引值。
operator.setitem(a, b, c)
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.name
f = 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
相关的信息对应如下:
- Python--operateor 模块
- python模块 ---logging模块
- python模块-re模块
- python模块 - functools模块
- python 模块 模块文件
- python模块 - pickle模块
- python模块 - copy模块
- python模块
- python 模块
- python-模块
- python 模块
- python模块
- python 模块
- python模块
- python 模块
- python 模块
- 模块-python
- python 模块
- C语言指针与二维数组
- 集合框架
- 每步取模
- 公钥和私钥的区别
- 使用NotificationCompat兼容包来处理消息通知
- Python--operateor 模块
- 源码-Oracle数据库管理-第十二章-使用PL/SQL创建Oracle程序-Part 1(PL/SQL基础)
- MFC CImage 指针访问问题
- React实现动画效果
- 用C语言指针作为函数返回值
- ALAssetsLibrary
- 【工具】百度云破解版不用会员高速下载 分享
- Spring Data
- LeetCode 29. Divide Two Integers