Как создать кортеж содержащий списки, из словаря в 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)],)