python的字典数组问题。

问题描述

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字典数组排序实现

时间: 2024-09-20 06:23:43

python的字典数组问题。的相关文章

Python中字典的基本知识初步介绍

  这篇文章主要介绍了Python中字典的基本知识初步介绍,是Python入门中的基础知识,需要的朋友可以参考下 字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型.字典包括键对(称为项目)及其相应的值. Python字典也被称为关联数组或哈希表.字典的一般语法如下: ? 1 dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 可以用下面的方式创建字典: ? 1 2 dict1 = { 'abc':

Python列表list数组array用法实例解析_python

本文以实例形式详细讲述了Python列表list数组array用法.分享给大家供大家参考.具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构.   创建列表   复制代码 代码如下: sample_list = ['a',1,('a','b')]   Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3]   得到列表中的某一个值 复制代码 代码如下: value_start = sampl

JS中遍历普通数组和字典数组的区别

 // 普通数组 var intArray = new Array(); intArray[0] = "第一个"; intArray[1] = "第二个"; for(var i = 0; i < intArray.length;i++) {     alert(intArray[i]);    // 第一个,第二个 } // 拿到的是下标(像dictionary的key) for(var key in intArray) {     alert(key);  

python通过字典dict判断指定键值是否存在的方法

 这篇文章主要介绍了python通过字典dict判断指定键值是否存在的方法,实例分析了Python中使用has_key及in判断指定键值是否存在的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了python通过字典dict判断指定键值是否存在的方法.分享给大家供大家参考.具体如下: python中有两种方法可以判断指定的键值是否存在,一种是通过字典对象的方法 has_key 判断,另外一种是通过 in 方法,下面是详细的范例. ? 1 2 3 4 5 d={'site':'h

python常规方法实现数组的全排列

 这篇文章主要介绍了python常规方法实现数组的全排列,实例分析了全排列的概念及Python常规实现技巧,需要的朋友可以参考下     本文实例讲述了常规方法实现python数组的全排列操作.分享给大家供大家参考.具体分析如下: 全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. ? 1 2 3 4 5 6 7 8 9 10 def perm(l): if(len(l)<=1): retur

Python中字典创建、遍历、添加等实用操作技巧合集

  字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. 一.字典中常见方法列表 代码如下: #方法 #描述 ------------------------------------------------------------------------------------------------- D.clear() #移除D中的所有项 D.copy() #返回D的副本 D.fr

python numpy 提取数组问题

问题描述 python numpy 提取数组问题 a=[123456] 现要取数组,每三个为一组,取出下面这样: l1=[123] l2=[234] l3=[345] l4=[456] 就是这种取法.请问使用numpy怎么实现? 解决方案 Python numpy数组扩展效率问题Python Numpy数组保存Python Numpy数组保存 解决方案二: import numpy as np a = np.array([123456]) def split(a): for x in range

python利用字典保存配置实现动态调用模块类方法

python利用字典保存配置实现动态调用模块类方法 文件名:mytest,py 具体代码如下:   #coding=UTF-8 class TestClass: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*b class TestClassA: def sub(self,a,b): return a-b def add(self,a,b): return a+b

python对字典进行排序实例_python

本文实例讲述了python对字典进行排序的方法,是非常实用的技巧.分享给大家供大家参考. 具体实现方法如下: import itertools thekeys = ['b','a','c'] thevalues = ['bbb','aaa','cccc'] d = dict(itertools.izip(thekeys,thevalues)) #创建字典 print d def sortedDictValue(adict): keys = adict.keys() keys.sort() ret