我正在用python语言创建一个迷你搜索引擎。为此,我需要解决以下问题。我基本上有一个由"[==========]"
分隔的几个部分组成的文本。
喜欢 :
[blablabla][blabliblou][==========][blablablou][blibloubla][=========][oubabababa][baboulila]
我想创建一个组合这些列表的算法,直到我们“命中”一个“==========”并将它们作为单个键放入一个字典中,第一个列表的值为“1”,值以下两个列表中的“2”等...
说实话,我尝试了很多东西,但我无法解决问题。你可以帮帮我吗 ?
我尝试使用for和while创建条件循环
file = open("mytext.txt","r", encoding="utf-8")
dico = {}
counter = 0
for ln in file:
x = ln.split()
for x in file:
print(dico)
while x != "==========":
dico[x] = counter
else:
dico[x] = counter + 1
print (dico)
字典仍然是空的,我不知道为什么!
您可以尝试使用正则表达式。
import re
file = open("myfile.txt","r",encoding="utf-8")
dico = {}
data=file.read()
# split up string int a list of "stuff separated by one or more ="
keys = re.split(r"=+", data)
for i in range(len(keys)):
dico[keys[i]] = i+1
键:
['[blablabla][blabliblou]', '[blablablou][blibloubla]', '[oubabababa][baboulila]']
我说:
{'[blablabla][blabliblou]': 1, '[blablablou][blibloubla]': 2, '[oubabababa][baboulila]': 3}
编辑:修复了几个语法错误。