更改字典中的值(python)

时间:2014-12-09 10:09:20

标签: python python-3.x

我有这本字典,显示学生的名字和他们的分数。

d = {('z', 'b'): 1, ('a', 'd'): 2, ('a', 'f'): 3}

我需要将此词典的值(分数)更改为百分比并打印出来。

首先,我必须取得分数并将其改为百分比,我已经通过以下方式完成了这项工作:

numbers_list = []
 for i in values:
     numbers_list.append((i/3)*100)
 print('Numbers in percent: ', numbers_list)

然后我必须按照这样的百分比打印学生姓名:

z b 33

a b 66

a f 100

我试过了:

for name in d:
    print(format_str.format(name[0], name[1], d[name]))

但它打印出我之前的值(得分),而不是在我计算出来后产生以下输出:

z b 1

a b 2

a f 3

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以使用内置函数keys()values()items()来访问存储在字典中的键值对。如果您只想以百分比打印分数,您可以执行以下操作:

for key, value in d.items():
    print " ".join(key) + " {0} %".format(round(value*100/float(3), 2))

如果您想更改字典并存储百分比值而不是绝对分数,您可以这样做:

for key, value in d.items():
    d[key] = value*100/float(3)
    print " ".join(key) + " {0} %".format(round(d[key], 2))

此处round()用于将值四舍五入到小数点后两位。