You have made a very verbose numpy version :) Here is a slightly better one:<p><pre><code>    a = np.random.randint(-100, 100, size=100)
    a[(a &amp; 2 == 0) &amp; (a &gt; 0)]
</code></pre>
Python does indeed have logical boolean operators.<p>I think this is clearer than your Julia example because:<p>- The numpy version makes it clear that you are using random <i>integers</i>, not floating point values.<p>- The keyword argument for &quot;size&quot; makes it clear what that second 100 is for. (The use of the first two numbers, -100 and 100, is pretty clear from context.)<p>- In numpy, most operations are element-wise by default, because the result would be ambiguous or not useful otherwise. This removes the line noise of the extra &quot;.&quot; before operations.<p>Don&#x27;t get me wrong, I think Julia is awesome. I just think you&#x27;ve constructed a very poor example for numpy.