用法:
operator.itemgetter(item)
operator.itemgetter(*items)
返回一个可调用对象,该对象使用操作数的
__getitem__()
方法从其操作数中获取item
。如果指定了多个项目,则返回查找值的元组。例如:- 在
f = itemgetter(2)
之后,调用f(r)
返回r[2]
。 - 在
g = itemgetter(2, 5, 3)
之后,调用g(r)
返回(r[2], r[5], 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' >>> soldier = dict(rank='captain', name='dotterbart') >>> itemgetter('rank')(soldier) 'captain'
使用
itemgetter()
从元组记录中检索特定字段的示例:>>> inventory = [('apple', 3), ('banana', 2), ('pear', 5), ('orange', 1)] >>> getcount = itemgetter(1) >>> list(map(getcount, inventory)) [3, 2, 5, 1] >>> sorted(inventory, key=getcount) [('orange', 1), ('banana', 2), ('apple', 3), ('pear', 5)]
- 在
相关用法
- Python operator.truth()用法及代码示例
- Python operator.le()用法及代码示例
- Python operator.ge()用法及代码示例
- Python operator.eq()用法及代码示例
- Python operator.not_()用法及代码示例
- Python operator.lt()用法及代码示例
- Python operator.attrgetter用法及代码示例
- Python operator.ne()用法及代码示例
- Python operator.methodcaller用法及代码示例
- Python operator.gt()用法及代码示例
- Python open()用法及代码示例
- Python open用法及代码示例
- Python optparse.OptionParser.set_defaults用法及代码示例
- Python os.path.normcase()用法及代码示例
- Python os.read()用法及代码示例
- Python os.DirEntry.inode()用法及代码示例
- Python os.closerange()用法及代码示例
- Python os.set_blocking()用法及代码示例
- Python os.pathconf()用法及代码示例
- Python os.chflags()用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 operator.itemgetter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。