array vs hash key search
<p>So I'm a longtime perl scripter who's been getting used to python since I changed jobs a few months back. Often in perl, if I had a list of values that I needed to check a variable against (simply to see if there is a match in the list), I found it easier to generate hashes to check against, instead of putting the values into an array, like so:</p>

<pre><code>$checklist{'val1'} = undef;
$checklist{'val2'} = undef;
...
if (exists $checklist{$value_to_check}) { ... }
</code></pre>

<p>Obviously this wastes some memory because of the need for a useless right-hand value, but IMO is more efficients and easier to code than to loop through an array.</p>

<p>Now in python, the code for this is exactly the same no matter if you're searching an list  or a dictionary:</p>

<pre><code>if value_to_check in checklist_which_can_be_list_or_dict:
   &lt;code&gt;
</code></pre>

<p>So my real question here is: in perl, the hash method was preferred for speed of processing vs. iterating through an array, but is this true in python? Given the code is the same, I'm wondering if python does list iteration better? Should I still use the dictionary method for larger lists?</p>
