file = open(selection, 'r')
dict = {}
with open(selection, 'r') as f:
for line in f:
items = line.split()
key, values = items[0], items[1:]
dict[key] = values
englishWord = dict.keys()
spanishWord = dict.values()
您好, 我正在开展一个项目,我有一个西班牙语和英语单词的文件。我试图把这些话,并把它们放入字典中。该文件如下所示:
library,la biblioteca
学校,la escuela
餐厅,餐厅
电影院,电影院
机场,el aeropuerto
博物馆,el museo
公园,公园
大学,大学
办公室,la oficina
房子,拉卡萨
每次运行代码时,都会收到有关范围的错误。我做错了什么?
答案 0 :(得分:2)
您的文件中可能有空行,导致空items
- 列表:
dict = {}
with open(selection, 'r') as lines:
for line in lines:
items = line.split()
if items:
key, values = items[0], items[1:]
dict[key] = values
答案 1 :(得分:1)
如果需要,您无需先打开文件! 此外,您还需要指定用于拆分的字符必须是什么,否则它会在每个空格上拆分,而不是按照您的意愿拆分。 此代码有效(假设您的文件名为'file.txt'):
dict = {}
with open('file.txt', 'r') as f:
for line in f:
items = line.split(',')
print(items)
key, values = items[0], items[1:]
dict[key] = values
englishWord = dict.keys()
spanishWord = dict.values()
答案 2 :(得分:1)
检查以确保没有空行。
dict = {}
with open(selection, 'r') as lines:
for line in lines:
items = line.split()
if (len(items) > 1):
if items:
key, values = items[0], items[1:]
dict[key] = values