我發現自己需要更新一個布爾變量,當第一次發生的事情(和只有然後)。使用var = not var
是不可能的,因爲它每次都會繼續觸發。Python:簡單的方法來切換布爾「一次」(即在一個方向)
(對不起,我傻傻的例子,我在努力尋找一種更明智的...)
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)
假設我想「觸摸」變量儘可能少,否則我可以只覆蓋它一次又一次地通過簡單地省略最內層的陳述。基本上我正在尋找一種更簡潔的pythonic方式來模擬Elvis算子(?:
)或空合併運算符(例如??
;根據語言變化)的三元條件運算符的二進制版本。
有關如何保持簡短(er)和清晰的任何想法?
哦,只是想起來。我甚至玩弄了寫作的想法:'inner_has_been_two = True如果不是inner_has_been_two'。這是一行而不是兩行;但仍然不是太優雅,恕我直言。 – NicApicella
inner_has_been_true | =真 – Prune
@Prune:究竟是什麼意思? – zondo