Разделить список на списки по 2 элемента

Код:

mertebe_say_result = []

for i in range(1, 5):
    mertebe_say_result.append(r'{"text":' + str(i) + ',"callback_data":' + str(i) + '}')

print(mertebe_say_result)

Я получаю данные в список mertebe_say_result = []

[
    '{"text":1,"callback_data":1}', '{"text":2,"callback_data":2}',
    '{"text":3,"callback_data":3}', '{"text":4,"callback_data":4}'
]

Мне нужно разделить элементы списка по 2, чтобы был список внутри списка

[
    ['{"text":1,"callback_data":1}', '{"text":2,"callback_data":2}],
    ['{"text":3,"callback_data":3}', '{"text":4,"callback_data":4}]
]

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

Автор решения: Алексей Р

Вариант с zip и map:

out = list(map(list, zip(mertebe_say_result[::2], mertebe_say_result[1::2])))
print(out)
[['{"text":1,"callback_data":1}', '{"text":2,"callback_data":2}'], ['{"text":3,"callback_data":3}', '{"text":4,"callback_data":4}']]
→ Ссылка