Do not do this and expand this into an actual for loop. This is building a list for no reason and is an abuse of a list comprehension with the in place operations and without actually storing the resulting list. Strongly suggest just doing this explicitly:

```python
cat_sam_groups = defaultdict(list)
for k,v in sam_cats.iteritems():
    cat_sam_groups[v].append(k)
return cat_sam_groups 
```

The call to set here doesn't matter unless I'm missing something