Объясните, пожалуйста, строчку

Не могу понять что происходит в этой строчке. Скажите, пожалуйста, можно ли это расписать как-то более подробно в несколько строк? И если да, то как?

mines = set(tuple(int(i) - 1 for i in input().split()) for _ in range(k))

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

Автор решения: Евгений
mines = set()
for _ in range(k):
    temp = []
    for i in input().split():
        temp += [int(i) - 1]
    temp = tuple(temp)
    mines = mines.union({temp})
→ Ссылка
Автор решения: Danis
mines = set() # создаём объект set 
for i in range(k):
    arr = []
    for el in input().split(): #разделяем входные данные по пробелу
        arr.append(int(el) - 1)
    mines.add(tuple(arr)) #превращаем в кортеж и добавляем в mines

print(mines) 
→ Ссылка