我有一个dict如下
aDict = {0:{'x':22, 'y':42}, 1:{'x':42, 'y':55}}
现在我想计算x到y的百分比,然后在aDict中的每个字典中添加键'z'的结果。 如何实现它?如果每个字典中没有x和y值,应该忽略它。
谢谢。
答案 0 :(得分:2)
使用字典,其中一个元素缺少x和y值:
>>> aDict = {0:{'x':22, 'y':42}, 1:{'x':42, 'y':55}, 2:{}}
>>> for key,value in aDict.items():
... try:
... value['z'] = 100 * value['x'] / float(value['y'])
... except KeyError:
... continue
...
>>> aDict
{0: {'y': 42, 'x': 22, 'z': 52.38095238095238}, 1: {'y': 55, 'x': 42, 'z': 76.36363636363636}, 2: {}}
答案 1 :(得分:0)
您需要使用dict.iteritems()
来迭代字典:
for key, value in aDict.iteritems():
value['z'] = int(100.0 / (float(value['y']) / float(value['x'])))