【发布时间】:2013-04-27 11:22:20
【问题描述】:
我编写了以下函数,它接受一个制表符分隔的文件(作为一个字符串)并将其转换为一个字典,其中一个整数作为键,一个包含两个浮点数和值的列表:
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:]]
但我不知道创建字典的最佳方法。我觉得这可能以一种简洁的方式实现,甚至无需创建中间列表。
谢谢,
马特
【问题讨论】:
-
您能说说
results的样子吗?? -
嗨,
results看起来类似于:sku\tdelivered-price-gbp\tdelivered-price-euro\tid\n32850238\t15.53\t35.38\t258505\n等
标签: python list dictionary python-2.7