Python按指定要求输出排列组合结果

要求:
list1=[I,H,K,L,Y]
list2=[B,Q,S,U,W]
list3=[A,M,N,V,X]

上面3个list排列组合输出组合成4个字母的结果
要求顺序为[list1,list2,list2,list3]
1号字母从list1中取,2,3号字母从list2中取,4号字母从list3中取。

例如:BIKA,BIHA,BILA,BIYA。
不胜感激

import itertools as it

list1=['I','H','K','L','Y']
list2=['B','Q','S','U','W']
list3=['A','M','N','V','X']
result = []
for i in list1:
    for j in it.combinations(list2, 2):
        for k in list3:
            result.append(''.join([i] + list(j) + [k]))
            
print(result)

list1,list2是不是写反了?

list1=[I,H,K,L,Y]
list2=[B,Q,S,U,W]
list3=[A,M,N,V,X]
for a in list1:
    for b in list2:
        for c in list2:
            for d in list3:
                if b!=c:
                    print('{}{}{}{}'.format(a,b,c,d))