zoukankan      html  css  js  c++  java
  • 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.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)]
  • 相关阅读:
    v-show 和 v-if 对 v-chart的影响
    vue axios get请求参数为json对象 而非字符串形式
    把对象字符化 和 把字符对象化
    vue 给url 中文参数 添加编码解码
    Observer(__ob__: Observer) 对象添加属性
    vux 使用swiper 垂直滚动文字 报错[Intervention] Ignored...
    vue 点击当前的标签,获取当前标签的value值
    css 写一个向右的箭头
    Unable to preventDefault inside passive event listener due to target being treated as passive
    在微信浏览器中分享到朋友圈回调函数失败问题
  • 原文地址:https://www.cnblogs.com/skaarl/p/9497152.html
Copyright © 2011-2022 走看看