2

これは、しばらく私を逃してきたものです。たとえば、数字のリストがあり、各数字が別のリストのすべての数字で割り切れるかどうかを確認したいとします。私が考えることができるのは次のとおりです。

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' の要素で割り切れるかどうかのみをチェックしますが、そのリストのすべての要素で割り切れるかどうかはチェックしません。どうすればこれを行うことができますか?ありがとう

4

1 に答える 1

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
于 2013-04-06T20:15:51.163 に答える