【问题标题】:Given a known value in a key-value pair, extract the value of the next key-value pair in a dictionary给定键值对中的已知值,提取字典中下一个键值对的值
【发布时间】:2019-07-25 23:59:45
【问题描述】:

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

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 列表会随着每次迭代而不断增长

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

【问题讨论】:

    标签: python-3.x list dictionary keyvaluepair


    【解决方案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']
    

    【讨论】:

    • 哦,谢谢,会解决的。关于如何从下一个键值对中提取值的任何建议。
    猜你喜欢
    • 2019-10-04
    • 2013-06-09
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 2011-07-18
    • 2019-11-09
    • 2019-01-22
    相关资源
    最近更新 更多