Try this:
List<(string, List<string>)> items = new List<(string, List<string>)>
{
("col1", new List<string>{"1","2","3"}),
("col2", new List<string>{"1","3","4"})
};
var result = items
.SelectMany(x=>x.Item2.Select(y=> Tuple.Create(y, x.Item1)))
.GroupBy(x=>x.Item1)
.Select(grp=> new {Item1 = grp.Key, Item2 = items.Select(x=>grp.Any(y=>y.Item2==x.Item1)).ToList()})
.ToList();
Result:
1, {true, true}
2, {true, false}
3, {true, true}
4, {false, true}