Q: How do I keep printed words in list form? I have a list "d" that looks like this:
d={{{1,4},{1,1},{1,2}},
{{1,4}},{1,1},{3,3}}}

I also have the following code:
For[b = 1, b <= MaxIt, b++, {
  w = Table[
     If[
      d[[b, l]][[1]] == d[[b, l]][[2]],
      Print["Same"],
      Unevaluated@Sequence[]],
     {l, 1, Length[d[[b]]]}];
  }]

List "d" is composed of two generations, each row makes up a single generation.  When I run the above loop, I get printed outputs of the word "Same" every time the two numbers in a sublist are the same.  The issue is I cannot tell which "Same" refers to which generation.  Is there any way to keep my printed words in list form so that they would read {{Same},{Same,Same}}(as in the case above, generation 1 only has 1 same and generation 2 has two sames.  

A: d = {{{1, 4}, {1, 1}, {1, 2}}, {{1, 4}, {1, 1}, {3, 3}}};

You can Apply the function SameQ at Level 2  to get the result without a loop:
Apply[SameQ, d, {2}]


{{False, True, False}, {False, True, True}}


You can process this list using ReplaceAll to replace False with Nothing and True with "Same":
Apply[SameQ, d, {2}] /. {False -> Nothing, True -> "Same"}


 {{"Same"}, {"Same", "Same"}}


