我编写了以下函数,它接受一个制表符分隔的文件(作为一个字符串)并将其转换为一个字典,其中一个整数作为键,一个包含两个浮点数和值的列表:
def parseResults(self, results):
"""
Build a dictionary of the SKU (as key), current UK price and current Euro price
"""
lines = results.split('\n')
individual_results = []
for i in range(1,len(lines)-1):
individual_results.append(lines[i].split('\t'))
results_dictionary = {}
for i in range(len(individual_results)):
results_dictionary[int(individual_results[i][0])] = [float(individual_results[i][1]), float(individual_results[i][2])]
return results_dictionary
我一直在阅读有关使用列表理解和字典理解的内容,但我真的不知道构建它的最佳方法是什么。
我想我可以使用以下方法简化第一个列表构建:
individual_results = [results.split('\t') for results in lines[1:]]
但我不知道创建字典的最佳方法。我觉得这可能以一种简洁的方式实现,甚至无需创建中间列表。
谢谢,
马特