• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.weighted_lottery函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中r2.lib.utils.weighted_lottery函数的典型用法代码示例。如果您正苦于以下问题:Python weighted_lottery函数的具体用法?Python weighted_lottery怎么用?Python weighted_lottery使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了weighted_lottery函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: pick

def pick(subset, weighted=False):
    if weighted:
        d = {(name, weight): weight for name, weight in subset}
        picked = weighted_lottery(d)
    else:
        picked = random.choice(subset)
    return picked
开发者ID:0xcd03,项目名称:reddit,代码行数:7,代码来源:promoted_links.py


示例2: lottery_promoted_links

def lottery_promoted_links(srids, n=10):
    """Run weighted_lottery to order and choose a subset of promoted links."""
    promo_tuples = get_promotion_list(srids)
    weights = {p: p.weight for p in promo_tuples if p.weight}
    selected = []
    while weights and len(selected) < n:
        s = weighted_lottery(weights)
        del weights[s]
        selected.append(s)
    return selected
开发者ID:AD42,项目名称:reddit,代码行数:10,代码来源:promote.py


示例3: choose_random_item

def choose_random_item(keep_fn=None):
    item_class = weighted_lottery(g.live_config["f2p_rarity_weights"])
    items_in_class = [i["kind"] for i in g.f2pitems.itervalues() if i.get("rarity", "common") == item_class]

    if keep_fn:
        available_items = [i for i in items_in_class if keep_fn(i)]
    else:
        available_items = items_in_class

    return random.choice(available_items)
开发者ID:JordanMilne,项目名称:reddit-plugin-f2p,代码行数:10,代码来源:f2p.py


示例4: lottery_promoted_links

def lottery_promoted_links(sr_names, n=10):
    """Run weighted_lottery to order and choose a subset of promoted links."""
    promo_tuples = get_live_promotions(sr_names)

    # house priority campaigns have weight of 0, use some small value
    # so they'll show if there are no other campaigns
    weights = {p: p.weight or 0.001 for p in promo_tuples}
    selected = []
    while weights and len(selected) < n:
        s = weighted_lottery(weights)
        del weights[s]
        selected.append(s)
    return selected
开发者ID:APerson241,项目名称:reddit,代码行数:13,代码来源:promote.py


示例5: generate

    def generate(self):
        """Generate a string similar to samples previously fed in."""

        start = weighted_lottery(self.starts)
        desired_length = weighted_lottery(self.start_lengths[start])
        desired_length = max(desired_length, self.order)

        generated = []
        generated.extend(start)
        while len(generated) < desired_length:
            # try each model, from highest order down, til we find
            # something
            for order, model in reversed(list(enumerate(self.models, 1))):
                current_prefix = "".join(generated[-order:])
                frequencies = model[current_prefix]
                if frequencies:
                    generated.append(weighted_lottery(frequencies))
                    break
            else:
                generated.append(random.choice(string.lowercase))

        return "".join(generated)
开发者ID:bobross-fc,项目名称:knowwit,代码行数:22,代码来源:submit_knowwit_data.py


示例6: select_subset

def select_subset(n, weighted=False):
    promos = copy(PROMOS)
    selected = []

    if weighted:
        d = {(name, weight): weight for name, weight in promos}
        while len(selected) < n and d:
            i = weighted_lottery(d)
            del d[i]
            selected.append(i)
    else:
        # Sample without replacement
        if n > len(promos):
            return promos
        else:
            return random.sample(promos, n)
    return selected
开发者ID:0xcd03,项目名称:reddit,代码行数:17,代码来源:promoted_links.py


示例7: expect

 def expect(result, random_value):
     scaled_r = float(random_value) / sum(weights.itervalues())
     self.assertEquals(
         result,
         utils.weighted_lottery(weights, _random=lambda: scaled_r))
开发者ID:131050033,项目名称:reddit,代码行数:5,代码来源:utils_test.py



注:本文中的r2.lib.utils.weighted_lottery函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.UrlParser类代码示例发布时间:2022-05-26
下一篇:
Python utils.valid_hash函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap