gpt4 book ai didi

python - 如何从纯文本中获取字典键?

转载 作者:太空宇宙 更新时间:2023-11-04 00:35:54 27 4
gpt4 key购买 nike

研究对象摘自Text processing and detection from a specific dictionary in python话题。也许我误解了 OP 的问题,但我已尝试改进代码。所以,也许我的问题可能有点不同。在解释我想做什么之前,让我与您分享代码:

dict_1={"Liquid Biopsy":"Blood for analysis","cfDNA":"Blood for analysis"}
list_1=[u'Liquid', u'biopsy',u'based', u'on', u'circulating', u'cell-free', u'DNA', u'(cfDNA)', u'analysis', u'are', u'described', u'as', u'surrogate', u'samples', u'for', u'molecular', u'analysis.']
for i in dict_1:
if i.lower() in " ".join(list_1).lower():
print("Key: {}\nValue: {}\n".format(i,dict_1[i]))

这些代码可以从 list_1 中编写的纯文本中捕获字典键。然而,当我在研究这些代码时,我想知道如果某些字典键在 list_1 中重复出现怎么办。然后我在这个 list_1 中写了两次相同的键。而且上面的代码没有识别出重复的,程序给出的结果和下面一样。

Key: cfDNA
Value: Blood for analysis

Key: Liquid Biopsy
Value: Blood for analysis


Process finished with exit code 0

然后我尝试改变我的方法并编写了下面给出的不同代码:

dict_1={"Liquid Biopsy":"Blood for analysis","cfDNA":"Blood for analysis"}
list_1=[u'Liquid', u'biopsy',u'based', u'on', u'circulating', u'cell-free', "cfdna",u'DNA', u'(cfDNA)', u'analysis', u'are', u'described', u'as', u'surrogate', u'samples', u'for', u'molecular', u'analysis.']
for i in list_1:
for j in dict_1:
for k in j.split():
count=0
if k.lower() in i.lower():
count+=1
print("Key: {}\nValue: {}\nCount: {}\nDescription: Came from '{}'\n".format(j, dict_1[j],str(count),i))

但很明显,最后的代码会产生不良结果。从下面可以看出,该程序从 list_1 中捕获了 liquidbiopsy 词。 cfDNAlist_1 中第二次写入,因此程序捕获了两次。但是有没有可能只写一次结果,把捕获时间加起来呢?

Key: Liquid Biopsy
Value: Blood for analysis
Count: 1
Description: Came from 'Liquid'

Key: Liquid Biopsy
Value: Blood for analysis
Count: 1
Description: Came from 'biopsy'

Key: cfDNA
Value: Blood for analysis
Count: 1
Description: Came from 'cfdna'

Key: cfDNA
Value: Blood for analysis
Count: 1
Description: Came from '(cfDNA)'


Process finished with exit code 0

我希望你明白我想做什么。我想捕获所有写在文本中的键。我还想计算这些键在文本中重复了多少次。

最佳答案

如果我没理解错的话,你想知道“关键字”在文本中出现的次数。您可以为此使用“re”模块。

import re

dict_1={"Liquid Biopsy":"Blood for analysis","cfDNA":"Blood for analysis", "asfdafaf":"dunno"}
list_1=[u'Liquid', u'biopsy',u'based', u'on', u'circulating', u'cell-free', "cfdna",u'DNA', u'(cfDNA)', u'analysis', u'are', u'described', u'as', u'surrogate', u'samples', u'for', u'molecular', u'analysis.']

text = ' '.join(list_1).lower()

for key in dict_1:
n = len(re.findall(key.lower(), text))
if n > 0:
print('Key:', key)
print('Value:', dict_1[key])
print('n:', n)
print()

关于python - 如何从纯文本中获取字典键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44060080/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com