我知道模%
在Python手段獲取餘,例如:如何理解Python中all()函數的模數?
print 6 % 4 # 2, because 6 = 1 * 4 + 2
print 4 % 2 # 0, because 4 = 2 * 2 + 0
我也學到了all()
功能是一樣的全稱量化,它會返回True
如果所有的命題都True
,其爭論應該是可以忍受的。
my_list = [True, True, True, True]
print all(my_list) # True
但是我被困在理解下面的代碼:
test_num = [3,6,9]
print all (11 % i for i in test_num) # True
for unknown in (11 % i for i in test_num):
print unknown, type(unknown) # 2 <type 'int'>
# 5 <type 'int'>
# 2 <type 'int'>
那麼,爲什麼我可以從他們的項目都是整數的迭代獲得真正的價值?
謝謝!
從DOC: >返回真,如果迭代的所有元素都爲真(或如果可迭代爲空)。 –
@ahsanul那麼在這種情況下,迭代被視爲空? –
不,該迭代不被視爲空。模運算符返回一個數字,如果它們都不是0,則'all'返回True。它基本上測試11是否可以被'test_num'中的任何數字整除,如果它既不能被整除,它也會返回True。雖然不是非常明確的代碼。 – L3viathan