仅打印字典中的特定值

Printing only specific values from a dictionary

我有一个 Python 字典,里面有 400 个元素。它们的形式是:

{'candidate 1' : 1, 'candidate 2' : 0, 'candidate 3' :0, 'candidate 4' :1}

等等大约400个值,我想打印字典中值为1的候选id。该值取0(不存在)或1(存在)。

我尝试使用 dict.values() 函数并尝试循环它并仅打印 dict.value == 1 处的值。但它只打印第一个值而不是迭代。

使用循环打印

d = {'candidate 1' : 1, 'candidate 2' : 0, 'candidate 3' :0, 'candidate 4' :1}
for k,v in d.items():
    if v == 1:
        print(k)
        
# candidate 1
# candidate 4

使用推导式获取列表

[k for k,v in d.items() if v==1]
# ['candidate 1', 'candidate 4']

应该这样做:

dict_ = {'candidate 1' : 1, 'candidate 2' : 0, 'candidate 3' :0, 'candidate 4' :1}

print(*(k for k, v in dict_.items() if v))

输出:

candidate 1 candidate 4