Randomise letters

I need to return 4 letters from a list of 10 upper and lower case (20 total).
The random should give an equal number of upper and lower case (XXxx or XxxX or XxXx and the oposite, so 6 conditions).

The line about making upper and lower the same lenght does not work and when i print “y”, it print me 4 lines cause there is 4 character in y but I would like only one line printed.

here is my code:

import random
X = ["D", "F", "H", "J", "L", "N", "P", "R", "T", "V","d", "f", "h", "j", "l", "n", "p", "r", "t", "v"]
y=(random.sample(X,4))

for char in y:
    if len(char.lower()) == len(char.upper()):
        print(y)

You could select two upper case and two lower case letters from separate lists and shuffle the result