как оптимизировать in?

Как оптимизировать эту часть кода?

for block in blocks:
        if d:
            block[1][0] -= 4
            upd.append([block[1][0], block[1][1]+math.sin(j/57.2958)*40, 32, 32])
        if a:
            block[1][0] += 4
            upd.append([block[1][0], block[1][1]+math.sin(j/57.2958)*40, 32, 32])
        if block[1][0] > 1280:
            block[1][0] -= 1312
        if block[1][0] < -32:
            block[1][0] += 1312
        #больше всего производительности сжирает часть кода от сюда:
        if block[0][0] == grass and([[grass, grass1, grass2, grass3], [block[1][0], block[1][1]-32]] in blocks or [[dirt, dirt1, dirt2, dirt3], [block[1][0], block[1][1]-32]] in blocks):
            block[0] = [dirt, dirt1, dirt2, dirt3]
        if block[0][0] == dirt and not ([[grass, grass1, grass2, grass3], [block[1][0], block[1][1]-32]] in blocks or [[dirt, dirt1, dirt2, dirt3], [block[1][0], block[1][1]-32]] in blocks):
            block[0] = [grass, grass1, grass2, grass3]
        #до сюда

Я изучил и понял: именно проблема в in. Как оптимизировать это?


Ответы (0 шт):