我有一个字典列表list_of_data
,我想用一个新条目formula
更新它:
import itertools
list_of_data = [{'a':array([1,2]), 'b':array([3,4]) , 'c':array([5,6]) },
{'a':array([7,8]), 'b': array([9,10]), 'c':array([1,2]) },
{'a':array([-1,4]), 'b': array([1,10]), 'c':array([4,5]) }]
#seperate keys with corresponding values
list_of_a=[]
list_of_b=[]
list_of_c=[]
for item in list_of_data:
for key, value in item.iteritems():
if key =='a':
list_of_a.append(value.tolist())
elif key =='b':
list_of_b.append(value.tolist())
elif key == 'c':
list_of_c.append(value.tolist())
formula=[]
for i,val in enumerate(list_of_a):
la=list_of_a[i]
lb=list_of_b[i]
lc=list_of_c[i]
for a,b,c in itertools.izip(la, lb, lc):
formula.append((a**2)+2*b*c))
for k in range(len(list_of_data)):
result = {'formula':formula[k]}
list_of_data[k].update(result)
输出的结果是:
formula =[31, 52, 67, 104, 9,116]
list_of_data = [{'a':array([1,2]), 'b':array([3,4]) , 'c':array([5,6]), 'formula': 31 },
{'a':array([7,8]), 'b': array([9,10]), 'c':array([1,2]), 'formula': 52 },
{'a':array([-1,4]), 'b': array([1,10]), 'c':array([4,5]), 'formula': 67 }]
我想要的是:
formula =[[31, 52], [67, 104], [9,116]]
list_of_data = [{'a':array([1,2]), 'b':array([3,4]) , 'c':array([5,6]), 'formula': array([31, 52])},
{'a':array([7,8]), 'b': array([9,10]), 'c':array([1,2]), 'formula': array([67, 104])},
{'a':array([-1,4]), 'b': array([1,10]), 'c':array([4,5]), 'formula': array([9, 116])}]
我怎样才能做到这一点?你知道吗
对于感兴趣的人:现在我有如下解决方案:
所以当ValueError异常出现时。你知道吗
===当内置操作或函数接收到类型正确但值不合适的参数时引发,并且这种情况不是由更精确的异常(如IndexError)描述的。你知道吗
查看循环中的数据值。你知道吗
相关问题 更多 >
编程相关推荐