У меня проблема с моим состоянием внутри моего dict
Итак, у меня есть файл 'test', подобный этому:
sp_345_4567 pe_645_4567876 ap_456_45678 pe_645_4556789
sp_345_567 pe_645_45678
pe_645_45678 ap_456_345678
sp_345_56789 ap_456_345
pe_645_45678 ap_456_345678
sp_345_56789 ap_456_345
s45678 f45678 f456789 ap_456_52546135
и словарь, подобный этому:
dico = {
"banana": "sp_345",
"apple": "ap_456",
"pear": "pe_645",
}
Затем я хочу сделать сравнение между значениями моего первого словаря с именем dico и увидеть, например, количество раз, когда банановый ключ появляется в каждой строке (и, следовательно, сделать это для всех ключей моего словаря), кромепроблема в том, что значения моего dico не равны значениям в моем словаре, потому что за ними следует этот шаблон '_ \ w +' '
Я пытался использовать dict-понимание
import csv
import re
dico = {
"banana": "sp_345",
"apple": "ap_456",
"pear": "pe_645",
}
with open("test.txt") as file :
reader = csv.reader(file, delimiter ='\t')
for li in reader:
pattern = re.search(dico["banana"]+"_\w+", str(li))
if pattern:
final_dict = {"line" + str(index + 1):
{key: line.count(text) for key, text in dico.items()}
for index, line in enumerate(reader)}
print(final_dict)
Но когда я печатаю свой последний словарь, для банана ставится только 0 ...
{'line1': {'banana': 0, 'apple': 0, 'pear': 0},
'line2': {'banana': 0, 'apple': 0, 'pear': 0},
'line3': {'banana': 0, 'apple': 0, 'pear': 0},
'line4': {'banana': 0, 'apple': 0, 'pear': 0},
'line5': {'banana': 0, 'apple': 0, 'pear': 0},
'line6': {'banana': 0, 'apple': 0, 'pear': 0}}
Так что да, теперь это выглядит немного больше, чем я хотел, но вхождения неподняться ....: / Может быть, мое состояние должно быть в глубоком понимании ??
Может кто-нибудь помочь?