У меня есть 2 списка:Объединить Python список элементов на основе другого списка
phon = ["A","R","K","H"]
idx = [1,2,3,3]
idx
соответствует тому, как phon
должны быть сгруппированы. В этом случае, phon_grouped
должны быть ["A","R","KH"]
, потому что оба "K"
и "H"
соответствуют группе 3.
Я предполагаю, что какой-то zip
или map
функции требуется, но я не уверен, как это осуществить. У меня есть что-то вроде:
a = []
for i in enumerate(phon):
a[idx[i-1].append(phon[i])
, но это на самом деле не работает/компилировать
ли 'idx' отсортированный? Или могут показаться, что индексы вышли из строя? Например. '[3, 2, 1, 3]' для вывода '['K', 'R', 'AH']'? –
Хороший вопрос. Он всегда будет отсортирован. –
Чтобы правильно использовать перечисление, вам нужны две переменные: 'для idx, val in enumerate (a_list)' – IanAuld