Если я скопирую и вставлю вашу a
:
In [899]: a=[(2, 1, [[0, 3]]), (5, 2, [[0, 2], [2, 3]]), (8, 3, [[0, 0], [2,
...: 1], [3, 2]]), (10, 1, [[1, 3]]), (12, 4, [[0, 1], [1, 0], [2, 2], [3,
...: 0]]), (15, 3, [[1, 1], [2, 0], [3, 1]])]
ipython
, то она напечатает как:
In [900]: a
Out[900]:
[(2, 1, [[0, 3]]),
(5, 2, [[0, 2], [2, 3]]),
(8, 3, [[0, 0], [2, 1], [3, 2]]),
(10, 1, [[1, 3]]),
(12, 4, [[0, 1], [1, 0], [2, 2], [3, 0]]),
(15, 3, [[1, 1], [2, 0], [3, 1]])]
Простой интерпретатор python может отобразить то же самоеКстати, это проблема отображения, а не структуры данных.
Если я определю функцию, которая принимает один из внутренних кортежей и возвращает комбинацию из двух значений:
In [901]: def comb(alist):
...: return str(alist[0])+str(alist[1])
...:
Я могу применить его к вашему списку с этим пониманием списка:
In [903]: [(i,j,*[comb(x) for x in k]) for i,j,k in a]
Out[903]:
[(2, 1, '03'),
(5, 2, '02', '23'),
(8, 3, '00', '21', '32'),
(10, 1, '13'),
(12, 4, '01', '10', '22', '30'),
(15, 3, '11', '20', '31')]
Вы можете написать свою собственную функцию comb
.Это кажется самым близким к вашему c
, за исключением кавычек.Но нет никакого способа создать 03
, кроме как сделать его строкой.