使用字典替换字符串列表上的值

2024-09-27 00:12:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用字典来快速替换列表中每个字符串中不正确的单词。你知道吗

注意:我正在尝试创建一个自定义函数,而我能创建的唯一解决方案是一组嵌套的“for循环”,考虑到我需要处理的实际数据长度超过150000,这在计算上是禁止的

考虑一下:

test_combine = ["cat", "dog", "Hello", "Johnny", "You",
 "123_happy_goose", "123_happy", "45_goose", "45_lamegoose"]

实际上,这些都是地址,但我创建了这个示例问题。我想用字典代替这些。你知道吗

replace_dic = {"cat":"dog", "_happy_":"_sad_", "_goose\\b":"duck", "Johnny":"john"}

我的文件目前只使用下划线,我在匹配时使用下划线来确保只替换某些大小写。如果我只想改变happy如果它是一个中间词,我会回复sub只有"_happy_"改变而不是"123_happy."

理想情况下,正确的函数将返回

["dog", "dog", "Addition", "Hello", "john", "You",
 "123_sad_goose", "123_happy", "45_duck", "45_lamegoose"]

Tags: 函数字符串youhello列表字典johncat
1条回答
网友
1楼 · 发布于 2024-09-27 00:12:29
def replace(lst,dct):
    ar = []
    for i in lst:
        for k in dct.keys():
            i=i.replace(k,dct[k])
        ar.append(i)
    return ar

test_combine = ["cat", "dog", "Hello", "Johnny", "You",
 "123_happy_goose", "123_happy", "45_goose", "45_lamegoose"]

replace_dic = {"cat":"dog", "_happy_":"_sad_", "_goose\\b":"duck", "Johnny":"john"}

print(replace(test_combine,replace_dic))

相关问题 更多 >

    热门问题