如何解决如何使用循环遍历包含列表的字典,计算内容并将结果添加到字典中?
我正在构建一个具有年份(关键字)和值列表的字典[人口数据,0,0] 我能够编写一个循环以将年份添加为字典键(1950年至1990年),并从文件中导入总体数据以添加为[value [0],...]
现在,值[1]和值[2]为空。
如何编写一个循环遍历字典的循环(从索引1开始,而不是0 ),计算总体变化,并将其放入值[1] ...针对每个项目在我的字典中? (之后,我将价值的百分比变化[2] )
myDict = {'1950':[141902,0,0], '1951':[157311,0,0], '1952':[186006,0,0], ....}#等。来自文件对象的填充数据
dict_key = [1950,1951,1952,1953,...]#共41个值,到1990年
到目前为止我所拥有的:
def compute_population_change(myDict,dict_key):
for i in range(1,(len(dict_key))): value[i] = 7 myDict[key[i]] = [value[i],0] return myDict
我写了value [i] = 7作为测试,以了解如何在该位置放置东西
谢谢您的光临。
如果需要更多上下文,其余代码位于:https://github.com/alexisabadger/pythonDictionaryAndList/blob/main/PopulationDataCounter.py
解决方法
您可以使用foor循环遍历字典,并且由于键表示存储为字符串的升序数字,因此可以将字符串转换为整数,将其减去然后再次转换为字符串以获取列表。前一年。
for year in myDict:
if year != '1950':
#Calculate the difference in population of two consecutive years.
myDict[year][1] = myDict[year][1]-myDict[str(int(year)-1)][1]
#Calculate the difference as a percentage
myDict[year][2] = (1-myDict[year][1]/myDict[str(int(year)-1)][1])*100
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。