Форум сайта python.su
0
Есть такие данные:
(1, (11, a, w), (24, пd, fпр), (44, dы, fав), ) (2, (66, аd, f), (24, d, f ), ) (4, (5, d, sd), ) ...
[(1, 11, u'a', u'w'), (1, 24, u'пd', u'fпр'), (1, 44, u'dы', u'fав'), (2, 66, u'аd', u'f'), (2, 24, u'd', u'f' ), (4, 5, u'd', u'sd')]
Отредактировано info.rss (Ноя. 9, 2014 14:58:54)
Офлайн
857
>>> from itertools import repeat, chain >>> >>> lst = [ ... (1, ... (11, 'a', 'w'), ... (24, 'пd', 'fпр'), ... (44, 'dы', 'fав'), ... ), ... (2, ... (66, 'аd', 'f'), ... (24, 'd', 'f' ), ... ), ... (4, ... (5, 'd', 'sd'), ... ) ... ] >>> >>> out = list(chain.from_iterable(zip(repeat(i[0]), i[1:]) for i in lst)) >>> out [(1, (11, 'a', 'w')), (1, (24, 'пd', 'fпр')), (1, (44, 'dы', 'fав')), (2, (66, 'аd', 'f')), (2, (24, 'd', 'f')), (4, (5, 'd', 'sd'))] >>>
Офлайн
103
out = [] for i in lst: out += [(i[0],) + j for j in i[1:]]
lst = [(1, (11, 'a', 'w'), (24, 'pd', 'fpr'), (44, 'du', 'fav'), ), (2, (66, 'ad', 'f'), (24, 'd', 'f'), ), (4, (5, 'd', 'sd'), )] out = [] for i in lst: out += [(i[0],) + j for j in i[1:]] print out
[(1, 11, 'a', 'w'), (1, 24, 'pd', 'fpr'), (1, 44, 'du', 'fav'), (2, 66, 'ad', 'f'), (2, 24, 'd', 'f'), (4, 5, 'd', 'sd')]
Офлайн
0
Отлично, то что надо, спасибо
Офлайн