在大字典上循环/迭代

2024-04-19 02:03:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两本大字典

spTetra(Dictionary1), length = 716816 elements, form = {2803549: [-2.7790037375, -3.2795817825, 2.8985697649999995],...,2848536: [-2.5112950224999997, 5.4304198025, 3.4988885525]}
spHexa(Dictionary1), length = 25874 elements, form = {1:[...],...25842: [0.5, 5.1, 4.1],...,25872: [2.1, 5.3, 4.1]}

问题是,我想考虑所有的spTetra元素,这些元素都属于每个spHexa元素的立方体大小,在所有3个方向上都是0.1维的立方体。为此,我用python编写了一个脚本,它将两个字典都转换为一个项形式,并运行如下循环

for spH in spHexa:#The loop runs for all the elements of the CT scan mesh 
    insideRad=[]  #insideRad consists of all the tetrahedral FOT's which fall inisde the cube volume of the CT scan
    for spT in spTetra:
        if abs(spH[1][0]-spT[1][0]) <= dX:
            if abs(spH[1][1]-spT[1][1]) <= dY:
                if abs(spH[1][2]-spT[1][2]) <= dZ:
                    insideRad.append(spT)

现在对于小型spTetra字典,它成功运行了,但是当我考虑完整的模型时,rad内部总是空的{}。关于如何成功运行这个有什么想法吗


Tags: oftheform元素forifabselements