I'm trying to remove duplicate values in my dict but its not working:
samples_antibiotics_with_duplicates = {'S00541-09': ['Streptomycin', 'Sulfamethoxazole', 'Trimethoprim', 'Spectinomycin', 'Streptomycin', 'Streptomycin', 'Trimethoprim']}
samples_antibiotics = {}
for key,value in samples_antibiotics_with_duplicates.iteritems():
if value not in samples_antibiotics.values():
samples_antibiotics[key] = value
print samples_antibiotics
This prints:
{'S00541-09': ['Streptomycin', 'Sulfamethoxazole', 'Trimethoprim', 'Spectinomycin', 'Streptomycin', 'Streptomycin', 'Trimethoprim']}
You can try this:
samples_antibiotics_with_duplicates = {'S00541-09': ['Streptomycin', 'Sulfamethoxazole', 'Trimethoprim', 'Spectinomycin', 'Streptomycin', 'Streptomycin', 'Trimethoprim']}
new_dict = {a:list(set(b)) for a, b in samples_antibiotics_with_duplicatates.items()}
If you don't care about retaining original order then set(my_list) will remove all duplicates.
If you want to retain original order then list(OrderedDict.fromkeys(my_list))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With