2016-02-08 3 views
0

Имея вывод списка списков, содержащих значения индекса сгруппированных элементов для (несколько) соответствующего списка кортежей, как их объединить в список сгруппированных кортежей?Python: сопоставление значений индексов со списком значений

data=[(1, 1), (1.5, 2), (3, 4), (5, 7), (3.5, 5), (4.5, 5), (3.5, 4.5)] 
clusters=[[0], [], [4], [1, 2, 3, 5, 6]] 

Это примерные значения/группы. Пример того, что я спрашиваю о:

coordinates= [[(1,1)], [], [(3.5,5)], [(1.5,2),(3,4),(5,7),(4.5,5),(3.5,4.5)]] 

Я попытался списковые и застежка-молния, но когда дело доходит до получения значения [I] в кластерах становится запутанным.

ответ

5

Я думаю, что список постижение два уровня является то, что вы хотите:

coordinates = [[data[index] for index in cluster] for cluster in clusters] 
+0

Спасибо, что работает отлично. Долгое время меня путала @Blckknght – DomRow

Смежные вопросы