veg_type = ["Urban", "Urban", "Forest", "OpenForest", "Arboretum"]
veg_density = [0.5, 0.6, 0.1, 0, 0.9]
duos = zip(veg_type, veg_density)
result = {} #or dict.fromkeys(set(veg_type), 0)
for i in set(veg_type):
result[i] = sum([d for t, d in duos if t==i])
вывод:
{'Дендрарий': 0,9, 'Лес': 0,1, 'OpenForest': 0, 'Городской': 1,1}
Версия в строке:
veg_type = ["Urban", "Urban", "Forest", "OpenForest", "Arboretum"]
veg_density = [0.5, 0.6, 0.1, 0, 0.9]
{ e:sum([d for t, d in zip(veg_type, veg_density) if t==e]) for e in set(veg_type)}
вывод:
{"Дендрарий": 0,9, "Лес": 0,1, "OpenForest": 0, "Городской": 1,1}