用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。