x.id == [1,2,3] and that is never going to equal 2. Are you trying select 2 if it is in x.id, or trying to select x.id if it contains 2 or something else?
Are you worried about performance? The impact of reconstructing the tuple should be negligible compared to filtering and creating new component vectors.
If you really want to avoid reconstructing the tuple, you could mutate the component vectors: