在PYTHON中向字典添加第二个键

在PYTHON中向字典添加第二个键,python,dictionary,Python,Dictionary,我创建了l字典,如下所示: preds[0] array([-106.56707764, -115.15104675, -114.25883484, -115.26295471, -115.89038086, -113.02381134, -115.05940247, -114.35089874, -114.89484406, -114.51584625, -114.10389709, -88.91298676, -109.24221802, -108

我创建了l字典,如下所示:

preds[0]
array([-106.56707764, -115.15104675, -114.25883484, -115.26295471,
       -115.89038086, -113.02381134, -115.05940247, -114.35089874,
       -114.89484406, -114.51584625, -114.10389709,  -88.91298676,
       -109.24221802, -108.85653687, -106.73032379, -106.2243576 ,
       -108.58371735, -108.14849854, -109.69474792, -105.89745331,
       -108.72554016, -111.92811584, -107.85765839, -107.41165161,
       -107.29457855, -104.40960693, -106.97180176, -113.36640167,
       -107.42208862, -106.724823  , -109.33970642, -106.57996368,
       -108.20727539, -109.35509491, -112.19174957, -109.18234253,
       -112.828125  ], dtype=float32)
key=range(len(pred[0]))
g=dict(zip(key,zip(preds[0])))
然后,我根据preds[0]的索引值创建了一个字典 详情如下:

preds[0]
array([-106.56707764, -115.15104675, -114.25883484, -115.26295471,
       -115.89038086, -113.02381134, -115.05940247, -114.35089874,
       -114.89484406, -114.51584625, -114.10389709,  -88.91298676,
       -109.24221802, -108.85653687, -106.73032379, -106.2243576 ,
       -108.58371735, -108.14849854, -109.69474792, -105.89745331,
       -108.72554016, -111.92811584, -107.85765839, -107.41165161,
       -107.29457855, -104.40960693, -106.97180176, -113.36640167,
       -107.42208862, -106.724823  , -109.33970642, -106.57996368,
       -108.20727539, -109.35509491, -112.19174957, -109.18234253,
       -112.828125  ], dtype=float32)
key=range(len(pred[0]))
g=dict(zip(key,zip(preds[0])))
然后我按preds[0]的递减值对单词nay进行排序

g_sorted = sorted(g, key=g.get, reverse=True)

for k in g_sorted:
    print k,g[k]
我得到了以下信息:

11 (-88.912987,)
25 (-104.40961,)
19 (-105.89745,)
15 (-106.22436,)
0 (-106.56708,)
31 (-106.57996,)
29 (-106.72482,)
14 (-106.73032,)
26 (-106.9718,)
24 (-107.29458,)
23 (-107.41165,)
28 (-107.42209,)
22 (-107.85766,)
17 (-108.1485,)
32 (-108.20728,)
16 (-108.58372,)
20 (-108.72554,)
13 (-108.85654,)
35 (-109.18234,)
12 (-109.24222,)
30 (-109.33971,)
33 (-109.35509,)
18 (-109.69475,)
21 (-111.92812,)
34 (-112.19175,)
36 (-112.82812,)
5 (-113.02381,)
27 (-113.3664,)
10 (-114.1039,)
2 (-114.25883,)
7 (-114.3509,)
9 (-114.51585,)
8 (-114.89484,)
6 (-115.0594,)
1 (-115.15105,)
3 (-115.26295,)
4 (-115.89038,)
现在,我想在词汇表中添加以下向量:

vocabulary= [-,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,]
遵循条件

如果词汇表的索引值等于字典的键值,则将词汇表的值添加到字典中。例如

词汇表中的值
a
具有索引
11
,因此我添加值
a

致:

成为:

11 (-88.912987,) : a
0 (-106.56708,)  : -
36 (-112.82812,) : z
EDIT1 来自@Santhosh的回答。我尝试将结果存储在字典中,如下所示:

for k,v in g.items():
    print ( '{0} {1} : {2}'.format(k,v,vocabulary[k]))
    get_dic=dict(zip(k,v,vocabulary[k]))
我得到了以下错误:

  TypeError: zip argument #1 must support iteration
然后我试着

import itertools
for k,v in g.items():
    print ( '{0} {1} : {2}'.format(k,v,vocabulary[k]))
    get_dic=dict(zip(itertools.repeat(k,v),vocabulary[k]))
我得到了以下错误:

TypeError: an integer is required

谢谢你

你可以这样做

vocabulary= ['-','0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','']

for k,v in g.items():
    print ( '{0} {1} : {2}'.format(k,v,vocabulary[k]))
输出:

0 (-106.56708,) : -
1 (-115.15105,) : 0
2 (-114.25883,) : 1
3 (-115.26295,) : 2
4 (-115.89038,) : 3
...
...
{(0, (-106.56708,)): '-',
 (1, (-115.15105,)): '0',
 (2, (-114.25883,)): '1',
 (3, (-115.26295,)): '2',
 ...
 ...
}
编辑:如果您想在dict中使用,只需尝试以下操作

{ (k, v) : vocabulary[k] for k,v in g.items() }
输出:

0 (-106.56708,) : -
1 (-115.15105,) : 0
2 (-114.25883,) : 1
3 (-115.26295,) : 2
4 (-115.89038,) : 3
...
...
{(0, (-106.56708,)): '-',
 (1, (-115.15105,)): '0',
 (2, (-114.25883,)): '1',
 (3, (-115.26295,)): '2',
 ...
 ...
}

根据这个问题,你的预期结果是什么还非常不清楚。符号
11(-88.912987,):a
11(-88.912987,)
是什么意思?您是在寻找打印输出还是对词典进行实际更改?谢谢您的回答,它很有效。然而,我在字典中存储格式(k,v,词汇[k])时出错了。请看我的编辑。@helene-看我的编辑