如何在下面的while循环中创建一个Dictionary? infile从一个名为input的文件中读取,该文件包含以下内容:
分钟:1,23,62,256
最大:24,672,5,23
和:22,14,2,3,89
P90:23,30,45.23
P70:12,23,24,57,32
infile = open("input.txt", "r")
answers = open("output.txt", "w")
while True:
line = infile.readline()
if not line: break
opType = line[0:3]
numList = (line[4:len(line)])
numList = numList.split(',')
我尝试做的基本上是2个列表,一个具有操作名称(opType),另一个具有数字。从那里我想创建一个看起来像这样的字典
myDictionary = {
'min': 1,23,62,256,
'max': 24,672,5,23,
'avg': 22,14,2,3,89,
'P90': 23,30,45.23,
'P70': 12,23,24,57,32,
}
原因是我需要将操作类型调用为自制函数,然后执行该操作。我会把这部分搞清楚。我目前只需要帮助从while循环中创建字典。
我正在使用python 2.7
答案 0 :(得分:1)
请尝试以下代码。
我相信,你需要总结'也在字典里。如果没有,只需添加条件即可将其删除。
myDictionary = {}
with open('input.txt','r') as f:
for line in f:
x = line.split(':')[1].rstrip().split(',')
for i in xrange(len(x)):
try:
x[i] = int(x[i])
except ValueError:
x[i] = float(x[i])
myDictionary[line.split(':')[0]] = x
print myDictionary