我对词典很新,我对这段代码有疑问。我不明白为什么它总是超过价值0.这就像我输入的其他内容一样。它应该显示0的唯一原因是列表中缺少单词
if item in resultat.keys():
print(item, ": {}".format(resultat[item]))
else:
print(item, ": 0")
我正在使用的词典的例子是从txt文件中导入的:
pommes : 54
bananes
oranges : 30
输入的例子
item.py data1.txt pommes
我得到错误输出的例子:
pommes : 0
检测输出
pommes : 54
这是我正在处理的代码。
import sys
def ligne(texte, item):
try:
with open(texte) as ouvrir:
mots_dict = {}
lecture = ouvrir.readlines()
for line in lecture:
line = line.strip('\n')
try:
mot, nombre = line.split(':')[1], int(line.split(':')[2])
except IndexError:
continue
if mot not in mots_dict.keys():
mots_dict[mot] = nombre
elif mot == item:
raise Exception('La ligne {} est un doublon.'.format(line))
return mots_dict
except IOError:
print("Le fichier", texte, "n'existe pas.")
sys.exit()
答案 0 :(得分:2)
尝试与
分开' : '
不是
':'
因为如果您只使用':'进行拆分,您的代码仍然会在单词之后和数字之前保留空格