use*_*076 2 python iterator for-loop
这是我一段时间没有想到的事情.例如,假设我有一个数字列表,我想检查每个数字是否可以被另一个列表中的每个数字整除,我该怎么做?我能想到的只有:
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>
Run Code Online (Sandbox Code Playgroud)
显然,这只会检查是否有任何元素mylist可以被'divisible'中的任何元素整除,但是如果它可以被该列表中的所有元素整除则不会.我该怎么做呢?谢谢
你可以使用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
Run Code Online (Sandbox Code Playgroud)
又见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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |