input = {1:5,2:8,9:3,11:4,18:3,21:4,3:8,350:5}
我想按操作进行分组并在
上执行求和操作那本词典的值。
like grp_1 = 1,11,21; grp_2 = 9,3,18; grp_3 = 2
并且输出应该如下所示
grp_1 = 13(5 + 8 + 8个字典值)
grp_2 = 14(3 + 4 + 3个字典值)
grp_3 = 13
请提出最佳方法,然后我应该选择
自定义组,以便将来我可以添加另一个号码...
答案 0 :(得分:0)
首先,
使用python 3.x而不是python 2.x,因为python 2即将淘汰:https://pythonclock.org/
在python 3中,最好通过以下方式使用CSV库:
import csv
,然后读入您拥有的值。
然后,您可以遍历每一行并在字典中填充所需的值:
region = {}
每次在数据集的每一行上进行迭代时,都可以在发现新区域时更新字典,或者仅添加一个已存在的区域。
if currentRegion in region.keys():
region[currentRegion]+=1
else:
region[currentRegion]=1
如果您还没有使用python的技能或不了解上面的代码行,那么查看python 3.x教程是一个好主意。它大约有100页,但是您只需覆盖第5章,直到您涵盖了列表和词典的使用,从而能够编码出您上面描述的问题的类型。该教程允许新手在1 / 2-1天内学习python基本技能。