re.sub转换为python列表中的多个值,没有寄存器意义



我有一些字符串my_list:的列表

['Dog Austin', 'Cat Piter', 'Tiger John', 'Lion Albert']

我有一本字典,里面有我的单词:我需要把它们替换成:

my_dict = {"Cat" : "Catty", "Dog" : "Doggy"}

我不需要registr的情况,这意味着算法应该是搜索甚至cAtDOg。我想我需要使用re.IGNORECASE,但在哪里?

我该如何处理我的列表?

这是一个好方法,但这里的输入只是一个字符串

s='hello, this is me'
replacements=[("hello", "hi"), ("this", "it's")]
for pat,repl in replacements:
s = re.sub(pat, repl, s)

我输入了字符串列表

我的输出需要是

['Doggy Austin', 'Catty Piter', 'Tiger John', 'Lion Albert']

您可以使用嵌套列表理解,并在my_dict中查找每个字符串中的单个单词:

[' '.join([my_dict.get(i, i) for i in s.split()]) for s in l]
# ['Doggy Austin', 'Catty Piter', 'Tiger John', 'Lion Albert']

最新更新