当前位置: 首页>>代码示例>>Python>>正文


Python Trie.autocomplete方法代码示例

本文整理汇总了Python中trie.Trie.autocomplete方法的典型用法代码示例。如果您正苦于以下问题:Python Trie.autocomplete方法的具体用法?Python Trie.autocomplete怎么用?Python Trie.autocomplete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trie.Trie的用法示例。


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

示例1: test_auto_complete_bolo

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_auto_complete_bolo():
    """Test that auto complete will return the one word we are looking for."""
    from trie import Trie
    t = Trie()
    t.insert("catty")
    t.insert("church")
    t.insert("crutch")
    t.insert("cats")
    t.insert("dog")
    t.insert("cat")
    t.insert("at")
    assert t.autocomplete("c") == ['cat', 'cats', 'catty', 'church']
    assert t.autocomplete("ca") == ['cat', 'cats', 'catty']
    assert t.autocomplete("d") == ["dog"]
开发者ID:muniri92,项目名称:Data-Structures-2.0,代码行数:16,代码来源:test_trie.py

示例2: test_auto_complete_nonexist

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_auto_complete_nonexist():
    """Test autocomplete for a word that does not exist in trie."""
    from trie import Trie
    t = Trie()
    t.insert("catty")
    t.insert("church")
    t.insert("crutch")
    t.insert("cats")
    t.insert("dog")
    assert t.autocomplete("p") == []
开发者ID:muniri92,项目名称:Data-Structures-2.0,代码行数:12,代码来源:test_trie.py

示例3: test_autocomplete_on_non_existent_token

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_autocomplete_on_non_existent_token():
    """Test that autocomplete returns empty list if token not in trie."""
    from trie import Trie
    trie = Trie()
    token1 = "rifle"
    token2 = "adze"
    token3 = "rifleman"
    trie.insert(token1)
    trie.insert(token2)
    trie.insert(token3)
    auto = trie.autocomplete('goat')
    assert auto == []
开发者ID:jmcclena94,项目名称:data-structures,代码行数:14,代码来源:test_trie.py

示例4: test_autocomplete_greater_than_five_possibilities

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_autocomplete_greater_than_five_possibilities():
    """Test that autocomplete only returns a list of 4 when more available."""
    from trie import Trie
    trie = Trie()
    rain = 'rain'
    rain_s = "rain's"
    rainy = 'rainy'
    raining = 'raining'
    rainstorm = 'rainstorm'
    word_list = [rain, rain_s, rainy, raining, rainstorm]
    for indx in word_list:
        trie.insert(indx)
    assert len(trie.autocomplete(rain)) == 4
开发者ID:jmcclena94,项目名称:data-structures,代码行数:15,代码来源:test_trie.py

示例5: test_autocomplete_two_words_from_root

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_autocomplete_two_words_from_root():
    """Test that autocomplete functions when input token is at the root."""
    from trie import Trie
    trie = Trie()
    token1 = "rifle"
    token2 = "adze"
    token3 = "rifleman"
    trie.insert(token1)
    trie.insert(token2)
    trie.insert(token3)
    auto = trie.autocomplete('rif')
    assert token1 in auto
    assert token3 in auto
    assert token2 not in auto
开发者ID:jmcclena94,项目名称:data-structures,代码行数:16,代码来源:test_trie.py

示例6: test_autocomplete_not_from_root

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_autocomplete_not_from_root():
    """Test that autocomplete functions when input token is in trie not root."""
    from trie import Trie
    trie = Trie()
    rifle = "rifle"
    adze = "adze"
    rifleman = "rifleman"
    owl = "owl"
    owled = "owled"
    owl_s = "owl's"
    word_list = [rifle, adze, rifleman, owl, owled, owl_s]
    for indx in word_list:
        trie.insert(indx)
    auto = trie.autocomplete('owl')
    assert owl_s in auto
    assert owled in auto
    assert owl in auto
    assert adze not in auto
开发者ID:jmcclena94,项目名称:data-structures,代码行数:20,代码来源:test_trie.py

示例7: SongServer

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
class SongServer(object):

    def __init__(self, nbrs, topics, ids, song_mapping):
        self.song_cache = {}
        self.nbrs = nbrs
        self.topics = topics
        self.ids = ids
        self.song_mapping = song_mapping
        self.mid_to_id = {}
        for i, mid in enumerate(self.ids):
            self.mid_to_id[mid] = i

        self.autocomplete = Trie()
        self.name_map = {}
        for mid, song in song_mapping.iteritems():
            name = song[1]
            fixed_name = name.lower().decode('utf-8')
            if name.lower() not in self.name_map:
                self.name_map[fixed_name] = set()
            if mid in self.mid_to_id:
                self.name_map[fixed_name].add((self.mid_to_id[mid], name, song[0]))
                self.autocomplete.insert(fixed_name)

        app = self.app = Flask(__name__, static_url_path='', static_folder='static/')
        def jsonp(f):
            """Wraps JSONified output for JSONP"""
            @wraps(f)
            def decorated_function(*args, **kwargs):
                callback = request.args.get('callback', False)
                if callback:
                    content = str(callback) + '(' + str(f().data) + ')'
                    return app.response_class(content, mimetype='application/json')
                else:
                    return f(*args, **kwargs)
            return decorated_function

        @app.route('/')
        def index():
            return app.send_static_file('index.html')

        @app.route('/api/get_id')
        @jsonp
        @use_args({
            'id': fields.Int(required=True),
            'youtube': fields.Bool(default=False)
        })
        def get_id(args):
            # if args['id'] in self.song_cache:
                # return jsonify(**self.song_cache[args['id']])
            topic = self.topics[args['id']].argmax()
            song = self.song_mapping[self.ids[args['id']]]
            aw = artwork.get_artwork(song)
            youtube_id = None
            if args['youtube']:
                youtube_id = artwork.get_video(song)
            result = {
                'status': 1,
                'result': {
                    'id': args['id'],
                    'name': song[1],
                    'genre': topic,
                    'artist': song[0],
                    'artwork': aw,
                    'youtube': youtube_id,
                }
            }
            # self.song_cache[args['id']] = result
            return jsonify(**result);

        @app.route('/api/get_neighbors')
        @jsonp
        @use_args({
            'id': fields.Int(required=True),
            'k': fields.Int(default=11)
        })
        def get_neighbors(args):
            _, neighbors = self.nbrs.kneighbors(self.topics[args['id']], n_neighbors=args['k'] + 1)
            neighbors = neighbors[0, 1:].tolist()
            genres = [self.topics[n].argmax() for n in neighbors]
            return jsonify(**{
                'status': 1,
                'result': zip(neighbors, genres)
            })

        @app.route('/api/get_song')
        @jsonp
        @use_args({
            'name': fields.Str(required=True),
        })
        def get_song(args):
            if len(args['name']) < 3:
                return jsonify(**{
                    'status': 1,
                    'result': []
                })
            results = self.autocomplete.autocomplete(args['name'].lower())
            final_results = []
            for result in results:
                for final_result in list(self.name_map[result]):
                    final_results.append({
#.........这里部分代码省略.........
开发者ID:prudhvil,项目名称:musichack,代码行数:103,代码来源:server.py

示例8: test_auto_complete_solo

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_auto_complete_solo():
    """Test that auto complete will return the one word we are looking for."""
    from trie import Trie
    t = Trie()
    t.insert("apple")
    assert t.autocomplete("a") == ["apple"]
开发者ID:muniri92,项目名称:Data-Structures-2.0,代码行数:8,代码来源:test_trie.py

示例9: test_auto_complete_empty

# 需要导入模块: from trie import Trie [as 别名]
# 或者: from trie.Trie import autocomplete [as 别名]
def test_auto_complete_empty():
    """Test the auto complete works for nothing in tree."""
    from trie import Trie
    t = Trie()
    assert t.autocomplete("a") == []
开发者ID:muniri92,项目名称:Data-Structures-2.0,代码行数:7,代码来源:test_trie.py


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