Dictionary creation

Hi,
The following code works fine, however, if I change the label values it shows the error.
class_samples={}
labels=[0, 1, 2 ,3]
sample_count=[10, 20, 30, 40]
for labl in labels:
class_samples[labl]= sample_count[labl]
print (’ Class Samples: ', class_samples)

#OUTPUT : Class Samples: {0: 10, 1: 20, 2: 30, 3: 40}
If I change it:
class_samples={}
labels=[0, 2, 4 ,6]
sample_count=[10, 20, 30, 40]
for labl in labels:
class_samples[labl]= sample_count[labl]
print (’ Class Samples: ', class_samples)

Error : class_samples[labl]= sample_count[labl]
IndexError: list index out of range

I want have output as : Class Samples: {0: 10, 2: 20, 4: 30, 6: 40}

Indexing sample_count with labl won’t work as you need indices in [0, len(sample_count)].
Use the index create by enumerate:

for idx, labl in enumerate(labels):
    class_samples[labl]= sample_count[idx]
print(' Class Samples: ', class_samples)

or create the dict directly as:

dict(zip(labels, sample_count))
1 Like