How many Faro shuffles for a cycle?
Pyth, 63 53 bytes
J26AcU*J2JW=Y?@Q%ZlQ.iHG.iGH=+Z1AcYJI&amp;qYSY!%ZlQB;/ZlQ

Try it online!
J26          # Set J to 26.
AcU*J2J      # Assign G and H to range(0, 26) and range(26, 52) respectively.
W            # While
?@Q%ZlK      # If the current element of Q (input list)
.iHG         # is 1, then interleave H and G
.iGH         # Otherwise, interleave G and H
=Y           # Assign that value to Y
=+Z1         # Increment Z by 1
AcYJ         # Now reassign G and H to the first and last 26 elements of Y respectively
I&amp;qYSY!%ZlQB # If Y is already sorted and we are at the end of input list, then break
;/ZlQ        # Print Z divided by length of input list