问题描述
- python的字典数组问题。
-
对于一个已经存有一定数据的字典数组,比如:
dict = {'a':10, 'b':12, 'c':3, 'd':4}
假设我现在又有了个新数据b:5
请问如何可以将原来的字典中的b的值变成两个相减的结果(12-5=7)?for a,b in result.items():
if line[7] == a:
b = b-line[4]
我写的这段代码好像没起作用
解决方案
for a,b in result.items():
if line[7] == a:
result[a] = b-line[4]
解决方案二:
import csv,sys
reader= csv.reader(file("F: estwiki2.csv",'rb'))
result = {}
for line in reader:
if reader.line_num == 1:
continue
if line[4] == "added":
result[line[6]] = line[5]
for line in reader:
if reader.line_num == 1:
continue
if line[4] == "deleted":
for a,b in result.items():
if line[7] == a:
result[a] = b-line[4]
for c,d in result.items():
print c+" "+d
这是完整代码,然后这个csv文件是这样的:![图片说明](http://img.ask.csdn.net/upload/201603/25/1458889731_393006.png)
我要做的是 如果操作为deleted的话,就将它的被操作者的对应值减去这个deleted的数值。。
解决方案三:
import csv,sys
reader= csv.reader(file("F: estwiki2.csv",'rb'))
result = {}
for line in reader:
if reader.line_num == 1:
continue
if line[4] == "added":
result[line[6]] = line[5]
for line in reader:
if reader.line_num == 1:
continue
if line[4] == "deleted":
for a,b in result.items():
if line[7] == a:
result[a] = b-line[4]
for c,d in result.items():
print c+" "+d
解决方案四:
Python 字典中的中文输出问题
Python笔记:一个二维数组引发的问题
python字典数组排序实现