扫描txt文件,翻译字典中的某些单词[Python]

2024-09-28 05:17:44 发布

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

我有一个包含以下内容的文件:

((S000383212:0.0,JC0:0.244562):0.142727,(S002923086:0.0,(JC1:0.0,JC2:0.0):0.19717200000000001):0.222151,((S000594619:0.0,JC3:0.21869):0.13418400000000003,(S000964423:0.122312,JC4:0.084707):0.18147100000000002):0.011521999999999977); 

我有两本字典,里面有:

^{pr2}$

每当它说出某本词典中的某个词,并将其转换为另一个词时,我该如何找到它呢?

也就是说,如果它遇到“JC0”,则会将其转换为“b”


Tags: 文件字典pr2本词典jc3s002923086s000383212jc2
3条回答

如果性能不是很重要,可以使用以下代码:

with open('your_file_name.txt') as f:
    text = f.read()
    for key, value in org.items() + RDP.items():
        text = text.replace(key, value)

此代码具有O(n * k)时间复杂性,其中n是{}的长度,k是两个字典中的条目数。如果这种复杂性不适合您的任务,Aho-Corasick algorithm可以帮助您。在

for key in org.keys() + RDP.keys():
    text = text.replace(key, org.get(key, None) or RDP.get(key, None))

当然,正如特利皮比所说,如果你把这些话合并起来,事情就会简单得多:

^{pr2}$

您应该使用^{}字符串方法。在

相关问题 更多 >

    热门问题