def spiral_transposition(m):
    output = []
    direction = 0
    while len(m) > 0:
        match direction:
            case 0:
                output += m.pop(0)
                direction += 1
            case 1:
                output += [m[i].pop(-1) for i in range(len(m))]
                direction += 1
            case 2:
                output += m.pop(-1)[::-1]
                direction += 1
            case 3:
                output += [m[i].pop(0) for i in range(len(m))][::-1]
                direction = 0
    return output
Edit
Pub: 26 Jul 2023 20:27 UTC
Views: 32