这是我一段时间没有找到的东西。例如,假设我有一个数字列表,我想检查每个数字是否可以被另一个列表中的每个数字整除,我该怎么做?我能想到的只有:
mylist = [1,2,3,4,5,etc...]
divisible = [1,2,3,4,5,6,etc...]
for i in mylist:
for x in divisible:
if i % x == 0:
<do something>
显然,这只会检查mylist
中的任何元素是否可被'divisible'中的任何元素整除,但如果它可被该列表中的所有元素整除则不会。我该怎么做呢?感谢
答案 0 :(得分:5)
您可以使用all
:
>>> i = 2*3*17*23
>>> divs = [2, 17, 23]
>>> all(i % x == 0 for x in divs)
True
>>> all(i % x == 0 for x in [2,13,17])
False
另请参阅any
和next
:
>>> any(i % x == 0 for x in [5, 17, 101])
True
>>> next(x for x in [5, 17, 101] if i % x == 0)
17