python开发-enumerate函数在文本提取中的应用

enumerate()是python中的一个内置函数,它接收一个可迭代对象,返回索引和对应的值。是一个非常实用的函数。
下面讲一个enumerate在文本提取中的应用,代码是某个项目的一部分,代码如下:


def handle():
    l1 = [-1, -1, -1, -1, 82, 82, 82, 82, -1, -1, -1, 82, 82, 82, 82, -1, -1, 82, 82, -1, -1, -1, -1]
    str1 = "滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。"
    l2 = list()
    for idx, val in enumerate(l1):
        if val != -1:
            l2.append(idx)
    l3 = list(str1)
    print("l3:", l3)
    str2 = ""
    for i in l2:
        for idx, val in enumerate(l3):
            if i == idx:
                str2 += val
    print("str2:", str2)

其中l1和str1是某个算法输出的两个结果(两者长度相同)。-1表示该位置没有提取到对应的字符,非-1表示提取对应位置的字符。str2是需要提取的字符串,运行后,str2的结果如下:东逝水,尽英雄。成败
使用enumerate可以根据l1提取str1中对应位置的数据,在此可以体会一下enumerate在这里的使用。