2 u011185812 u011185812 于 2016.03.25 14:06 提问

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]
我写的这段代码好像没起作用

4个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.25 14:24
 for a,b in result.items():
    if line[7] == a:
        result[a] = b-line[4]
u011185812
u011185812 好像还是不对。不知道是不是我的逻辑问题,我把这段代码发全你能帮我看下么?
一年多之前 回复
u011185812
u011185812   2016.03.25 15:10

import csv,sys

reader= csv.reader(file("F:\testwiki2.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的数值。。
u011185812
u011185812   2016.03.25 15:14

import csv,sys
reader= csv.reader(file("F:\testwiki2.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

CSDNXIAOD
CSDNXIAOD   2016.03.30 11:24

Python 字典中的中文输出问题
Python笔记:一个二维数组引发的问题
python字典数组排序实现
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!