У меня есть два списка, которые имеют соответствующие элементы. Например:Групповое совпадение в список списков
L1 = [A, B] L2 = [1_A, i_X, i_Y, 2_A, x_B, y_B, z_B]
Я хочу, чтобы сгруппировать совпадающие факторы во новый список, как следующее:
match_grouplist = [[1_A, 2_A],[x_B, y_B, z_B]]
Я попытался,
pull = []; tmp = []
for entry in range(len(L1)):
spp = L[entry]
for ele in L2:
if ele.split("_")[1] == spp:
tmp.append(ele)
pull.extend(tmp)
Он производит только список. Может ли кто-нибудь предложить, как сделать это списком?
Спасибо заранее,
AP
Привет, Почему мое решение не работает ?. По основам я сохранил его в списке и восстановил список в другой список. Следовательно, он должен создать список списков? – Arun
@Arun Я вижу две проблемы в вашем коде. - результат не является списком списков, потому что вы используете 'extend' для добавления результатов в _pull_, а не' append'. 'extend' добавляет элементы _tmp_ в список _pull_ - _tmp_ должен быть сброшен в первом цикле. С этим кодом результаты для первого элемента L1 сохраняются для второго элемента, что приводит к '['1_A', '2_A', '1_A', '2_A', ....]' –