这段for循环的代码,abc可以,字符串转的列表却不能,为什么?

# 这段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)

# 若不介意,帮我改成列表推导式
# 特殊字符需要格式化??

maketrans建立字符映射时,只能是一对一
这题可以:

s = '眼睛 美貌 鼻子 耳朵 嘴巴 '
l = s.split()
print(l)

string = '''当a看到b时,'''
result = [string.replace('a', i).replace('b', j) for i in l for j in l]
print(result)

# 这段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('abcd', l[i] + l[j])
            s = string.translate(t)
            print(s)

# 若不介意,帮我改成列表推导式