How do I save results of a “for” loop into a single variable?

∥☆過路亽.° 提交于 2019-11-27 06:57:20

问题


I have a for loop:

for x in range(1,13):
   print ("This was the average temperature in month number " + str(x) + " in Boston, 2014: ", Boston_monthly_temp(x))

This prints out the average monthly temperatures in Boston in 2014, such as:

This was the average temperature in month number 1 in Boston, 2014:  26.787096774193547

all the way up until Month Number 12 (December):

This was the average temperature in month number 12 in Boston, 2014:  38.42580645161291.

All in all, this for loop produces 12 lines.

However, I can't figure out how to store the results of this "for" loop into a single variable, like (output_number_one).

I'm trying to store the results into a single variable, so I can dump / write the variable (and its contents) into a pickle file, called:

output.pkl

回答1:


Try this

result = []
for x in range(1,13):
    result.append((x, Boston_monthly_temp(x)))

Now result contains the x and avg

for x, avg in result:
    print ("This was the average temperature in month number " + str(x) + " in Boston, 2014: ", avg)

You can save it to sample.pkl by

import pickle
pickle.dump(result, open("sample.pkl","w"))

Then check by

res = pickle.load(open('sample.pkl'))
>>>for i in res:
       print i
This was the average temperature ...
This was the average temperatu ...
.....



回答2:


You could simply store the results in a dictionary, pickle that and store it:

import pickle

d = {}
for x in range(1,13):
   d[x] = Boston_monthly_temp(x)
res = pickle.dumps(d)
# write res to a file


来源:https://stackoverflow.com/questions/29225619/how-do-i-save-results-of-a-for-loop-into-a-single-variable

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!