У меня возникли проблемы с распаковкой двумерного списка кортежей (точнее, я ищу более элегантное решение).Как распаковать кортежи во вложенном списке?
Список, как показано ниже:
a = [ [(2, 3, 5), (3, 4, 6), (4, 5, 7), (1, 1, 1), (1, 2, 3)],
[(4, 9, 2), (8, 8, 0), (3, 5, 1), (2, 6, 8), (2, 4, 8)],
[(8, 7, 5), (2, 5, 1), (9, 2, 2), (4, 5, 1), (0, 1, 9)], ...]
И я хочу, чтобы распаковать кортежи, чтобы получить 3 вложенных списков той же формы, т.е .:
a_r = [ [2, 3, 4, 1, 1] , [4, 8, 3, 2, 2] , [8, 2, 9, 4, 0] , ...]
a_g = [ [3, 4, 5, 1, 2] , [9, 8, 5, 6, 4] , [7, 5, 2, 5, 1] , ...]
и так далее. Вот мой код:
a_r = []
a_g = []
a_b = []
for i in xrange(len(a)):
r0=[]
g0=[]
b0=[]
for j in range(5):
r0.append(a[i][j][0])
g0.append(a[i][j][1])
b0.append(a[i][j][2])
a_r.append(r0)
a_g.append(g0)
a_b.append(b0)
Я уверен, что есть более эффективные способы сделать это (я только начал изучать Python). This question аналогичен, но я не смог следить за функциональным программированием.
Спасибо!
Вы пробовали что-нибудь до сих пор? – kartikg3
Не понимаете, как вы объединены/распаковываете кортежи? Можете ли вы это уточнить? – Marcin
С какими проблемами вы сталкиваетесь? Какой прогресс вы достигли? Постарайтесь быть как можно более конкретными. Stackoverflow призван помочь вам помочь, а не ломать вас :) – shridharama