如何使用内联if语句进行打印?

poo*_*per 7 python printing inline dynamic

该字典对应于编号节点:

{0: True, 1: True, 2: True, 3: False, 4: False, 5: False, 6: True, 7: True, 8: False, 9: False}
Run Code Online (Sandbox Code Playgroud)

使用两个打印语句,我想打印标记和未标记的节点,如下所示:

  • 标记节点: 0 1 2 6 7

  • 未标记的节点: 3 4 5 8 9

我想要一些接近的东西:

print("Marked nodes: %d" key in markedDict if markedDict[key] = True)
print("Unmarked nodes: %d" key in markedDict if markedDict[key] = False)
Run Code Online (Sandbox Code Playgroud)

Moh*_*uag 9

您可以使用列表推导:

nodes = {0: True, 1: True, 2: True,
         3: False, 4: False, 5: False,
         6: True, 7: True, 8: False, 9: False}

print("Marked nodes: ", *[i for i, value in nodes.items() if value])
print("Unmarked nodes: ", *[i for i, value in nodes.items() if not value])
Run Code Online (Sandbox Code Playgroud)

输出:

Marked nodes:  0 1 2 6 7
Unmarked nodes:  3 4 5 8 9
Run Code Online (Sandbox Code Playgroud)

  • 你可以做价值,如果没有价值 (2认同)