给定键值对中的已知值,请提取字典中下一个键值对的值

时间:2019-07-25 23:59:45

标签: python-3.x list dictionary keyvaluepair

我有一个字典列表,每个字典包含两个键-值对,如图所示(这只是列表的一小部分)

G=[{j:0,vi:0},{j:1,vi:1},{j:2,vi:2},{j:3,vi:3}]

我正在使用If语句来查找当前vi是否已存在于字典列表中

if any('vi' in d.keys() for d in G]: 

然后我要获取包含当前vi的特定词典的j值。 因此,如果vi为1,我想从j:1获得1。 该j值将用作我正在构建的矩阵的列指针。 我不确定该怎么做。任何指针都会有所帮助。

请注意,字典的G列表每次迭代都在不断增长

我在这里尝试了各种键值提取答案,但是它们都是用于提取特定的键或值,而不是同一字典中的另一个键或值。

1 个答案:

答案 0 :(得分:1)

您写道:

  

如果vi在G.viewvalues()中:

您想要:

if any('vi' in d
       for d in G):

您将问题标记为python3,但使用了python2语言功能。

可能您想编写一个生成器函数 具有以下行为:

for d in G:
    if d.get('vi') == current_vi_value:
        yield d['j']