Python 用列表中的循环项替换输入中的字母

Python 用列表中的循环项替换输入中的字母,python,list,python-3.x,encryption,Python,List,Python 3.x,Encryption,在Python中,我试图编写一个Python脚本,用列表中的循环项替换每个字母 例如: input = "aaaabbbb" list_a = ["B,C,D"] list_b = ["1,2,3"] 打印BCDB1231 或 input = "aaaaaaaaa" list_a = ["b","c","d"] 打印bcdbcdbcd 如果输入中的a,则将a替换为列表a中的循环项目 如果输入中的b,则用列表中的循环项目替换b 一旦你明白你想要什么,这其实很容易。 如果需要循环字母,请使用

在Python中,我试图编写一个Python脚本,用列表中的循环项替换每个字母

例如:

input = "aaaabbbb"
list_a = ["B,C,D"]
list_b = ["1,2,3"] 
打印
BCDB1231

input = "aaaaaaaaa"
list_a = ["b","c","d"]
打印
bcdbcdbcd

  • 如果输入中的
    a
    ,则将a替换为列表a中的循环项目
  • 如果输入中的
    b
    ,则用列表中的循环项目替换b

一旦你明白你想要什么,这其实很容易。 如果需要循环字母,请使用
itertools.cycle
函数

list_a = ['B', 'C', 'D']
my_input = 'aaaa'

output = ''.join(x for x,a in zip(itertools.cycle(list_a), my_input))
可能您想对几个字母进行编码,因此您应该创建一个包含所有字母的字典,如下所示:

encode_data = {
    'a': itertools.cycle(['B', 'C', 'D']),
    'b': itertools.cycle(['X', 'Y', 'Z']),
    ...
}
output = ''.join(next(encode_data[x]) for x in 'aaabbb') 
和这样的访问:

encode_data = {
    'a': itertools.cycle(['B', 'C', 'D']),
    'b': itertools.cycle(['X', 'Y', 'Z']),
    ...
}
output = ''.join(next(encode_data[x]) for x in 'aaabbb') 

@retep您是否已经尝试为此编写代码?如果是,出了什么问题?因此,这不是一个代码编写服务。列表应该是
list_a=[“B”、“C”、“D”]
如何将“aaaa”翻译成“BCDB”?如果输入消息中的每个字符都相同,我希望加密消息中的每个字符都相同。或者这不是实际的预期输出,而您只是给出了一个英文文本的示例,并为加密部分写下了随机字母?请提供实际预期输出的预期输出。非常感谢!如果我想解密它,我会做
output.replace('B','a')
@retep你需要替换映射到'a'的每个字母。在这种情况下是“B”、“C”和“D”。谢谢!我让我的编码器和解码器与
26一起工作可能的选项