3
比方說,我有一個容器,如字典或列表。什麼是Python方法來測試容器的所有值是否等於給定值(如None
)?如何測試容器中所有項目的值?
我的幼稚實現是隻使用一個布爾標誌,就像我在C中所教的那樣,因此代碼可能看起來像這樣。
a_dict = {
"k1" : None,
"k2" : None,
"k3" : None
}
carry_on = True
for value in a_dict.values():
if value is not None:
carry_on = False
break
if carry_on:
# action when all of the items are the same value
pass
else:
# action when at least one of the items is not the same as others
pass
雖然這種方法工作得很好,但它給人的感覺並不正確,因爲Python處理其他常見模式的方式非常奇妙。什麼是正確的方法來做到這一點?我想也許內置all()
函數會做我想要的,但它只測試布爾上下文中的值,我想與任意值進行比較。
它不應該是'x不None'要一致在例子中用'carry_on'? – 2014-11-05 16:26:46
我認爲這個例子不正確,因爲OP說:「什麼是Python方法來測試容器的所有值是否等於**到給定值(如None)?」 – iCodez 2014-11-05 16:27:38
完美,謝謝! – 2014-11-05 16:31:55