Как создать кортеж содержащий списки, из словаря в Python?

есть словарь с такой структурой:

dict = {
    'x1[0]': ['aaa', '000'],
    'x1[1]': ['bbb', '111'],
    'x1[2]': ['ccc', '222'],
    'x1[3]': ['ddd', '333'],
    'x1[4]': ['eee', '444'],
}

нужно создать такого вида кортеж:

markup = ([
    [Button.inline('aaa', query='x1[0]', same_peer = True), Button.inline('bbb', query='x1[1]', same_peer = True)],
    [Button.inline('ccc', query='x1[2]', same_peer = True), Button.inline('ddd', query='x1[3]', same_peer = True)],
    [Button.inline('eee', query='x1[4]', same_peer = True)]
])

Как это сделать в Python?


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

Автор решения: n1tr0xs
_dict = {
    'x1[0]': ['aaa', '000'],
    'x1[1]': ['bbb', '111'],
    'x1[2]': ['ccc', '222'],
    'x1[3]': ['ddd', '333'],
    'x1[4]': ['eee', '444'],
}
markup = ([[Button(val, query=k, same_peer=True) for val in _dict[k]] for k in _dict])
→ Ссылка
Автор решения: GrAnd

Ну, например как-то так:

dict_list = [Button.inline(dict[k][0], query=k, same_peer = True) for k in dict]
markup = ([dict_list[i:i+2] for i in range(0, len(dict_list), 2)],)
→ Ссылка