我发现自己需要在第一次(并且只有那时)发生某些事情时更新一个布尔变量。使用var = not var
是不可能的,因为它每次都会继续翻转。
(对不起这个愚蠢的例子;我正在努力寻找一个更明智的例子……)
inner_has_been_two = False
for outer in range(5):
for inner in range(3):
if inner == 2:
if not inner_has_been_two:
inner_has_been_two = True
print(inner_has_been_two)
假设我想尽可能少地“接触”变量——否则我可以通过简单地省略最里面的语句来一次又一次地覆盖它if
。
基本上,我正在寻找一种更简洁、pythonic 的方式来模拟(三元条件运算符的二进制版本,例如)猫王运算符 ( ?:
) 或空合并运算符(例如??
; 因语言而异)。
关于如何保持简短(呃)和清晰的任何想法?