以前的代码,求锤锤我,这段眼睛鼻子眉毛的文字组合,当a看见b,为什么特殊字符不行?

# 这段for循环的代码,abc可以,字符串转的列表却不能,为什么?
s = '眼睛 美貌 鼻子 耳朵 嘴巴 ♡ ¥'
l = s.split()
print(l)
string = '''当a看到b时,'''
# l = ['a', 'b', 'c']
for i in range(len(l)):
    for j in range(len(l)):
        if i != j:
            t = string.maketrans('ab', l[i]+l[j])
            s = string.translate(t )
            print(s)
# 若不介意,帮我改成列表推导式
# 特殊字符需要格式化??

img


[string.translate(string.maketrans('ab', l[i]+l[j])) for j in range(len(l)) for i in range(len(l)) if i!=j]

报错是说,a的长度和眼睛的长度必须一致
你可以把ab换成aabb,但是list里一会是一个字符一会是2个字符,也许你需要先判断一下字符长度然后使用对应的格式化字符串来格式化