I think I'd rather split this like so:

``` python
        for group in (g for g in user['approved_memberships']
                      if g['id'] not in known_groups):
            newgroup = _new_group(group)
```

The reason is that bringing something back to the same indent level as the "for" is visually like ending the for loop instead of ending the condition that defines the for loop.  So it's better to keep the condition and the ending paren at a higher indent level.