如何用Python建立索引

如何用Python建立索引,第1张

import re

patt = re.compile("\w+")

def makeIndex(filename):

    index = {}

    with open(filename) as handle:

        for i, ln in enumerate(handle):

            for word in patt.findall(ln):

                index.setdefault(word, []).append(i+1)

    return index

def printIndex(index):

    for word, lst in index.items():

        print "%s: %s" % (

            word, ", ".join(map(str, lst))

            )

def indexQuery(index, *args):

    found = None

    for word in args:

        got = index.get(word, [])

        if not got:

            return None

        if not found:

            found = set(got)

        else:

            found &= set(got)

        

        if not found:

            return None

    

    return list(found)

index = makeIndex("baiduqa.py")

printIndex(index)

print indexQuery(index, "in", "enumerate")

1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值。代码如下:

可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一个匹配的value的下标索引。

2、方法二:利用enumerate函数。

代码如下:

运行结果:

扩展资料:

python通过索引的 *** 作(Python包含6种内建序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象):

1、索引:

负数索引与正数索引之间存在一个规律: 当正数索引+负数索引的绝对值=元素的个数,它们所指的是同一个元素。

2、分片:

分片用于截取某个范围内的元素,通过:来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素)。

分片包括起始索引对应的元素,但不包括终止索引对应的元素,索引为正值时可以发生越界但只会取到最后一个元素。如果索引值为负值,则表示从最右边元素开始,此时需避免索引越界。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7970637.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存