我需要加快python中的嵌套循环,使成千上万的循环

问题描述 投票:0回答:1

filtradas大约为500000个元素,_13大约为2000000,我使用cython达到的最短时间就像4个小时,但是我需要在不到一个小时的时间内完成,怎么办?

两个列表的字符串元素都带有1、2或X,X可以更改为3的字符串元素>

for i in filtradas:
        for x in _13:
            aciertos=0
            if i[0]==x[0]:
                aciertos+=1
            if i[1]==x[1]:
                aciertos+=1         
            if i[2]==x[2]:
                aciertos+=1
            if i[3]==x[3]:
                aciertos+=1
            if i[4]==x[4]:
                aciertos+=1
            if i[5]==x[5]:
                aciertos+=1         
            if i[6]==x[6]:
                aciertos+=1
            if i[7]==x[7]:
                aciertos+=1
            if i[8]==x[8]:
                aciertos+=1
            if i[9]==x[9]:
                aciertos+=1         
            if i[10]==x[10]:
                aciertos+=1
            if i[11]==x[11]:
                aciertos+=1
            if i[12]==x[12]:
                aciertos+=1
            if i[13]==x[13]:
                aciertos+=1
            if aciertos>=nroaciertos:
                filtradas13.append(i)
                break
    return filtradas13

filtradas大约是500000个元素,_13大约是2000000,我使用cython的最短时间就像4个小时,但是我需要在不到一个小时的时间内完成,我该怎么办?两个列表都有...

python python-3.x list loops nested-loops
1个回答
0
投票

numpy值得一试。在此示例中,我怀疑转换为numpy数组的时间不值得进行比较,但是如果首先将数据导入numpy,则可能会更快。

© www.soinside.com 2019 - 2024. All rights reserved.