Just another way using MapApply
:
MapApply[Function[{x, y}, If[x > y, 1, 0]], Transpose[List[list1, list2]]]
(*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)
Another way using Map
:
If[#[[1]] > #[[2]], 1, 0] & /@ Transpose[List[list1, list2]]
(*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)
Another way using Outer
:
Diagonal[Outer[If[#1 > #2, 1, 0] &, list1, list2]]
(*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)
Using Thread
:
If[#[[1]] > #[[2]], 1, 0] & /@ Thread[Greater[list1, list2]]
(*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)
Just using Thread
in a simpler way::
Thread[If[Thread@Greater[list1, list2], 1, 0]]
(*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)