Note that there are some explanatory texts on larger screens.

plurals
  1. POobject of type 'NoneType' has no len(), but I'm pretty sure my object is a valid list
    text
    copied!<p>The following module keeps failing for me, telling me that an object of type 'NoneType' has no len(), but it seems that the object being passed is a list, not an object of type 'NoneType'. I include the module and the output below.</p> <pre><code>def Purge_Polyploid_MisScores(dictOfLists): #print "dict getting passed to Purge_Polyploid_MisScores function", dictOfLists for x in dictOfLists.keys(): for y in range (0, len(dictOfLists[x])): print "x", x, " and y", y print dictOfLists[x][y] #if not dictOfLists[x][y]: #print "error at ",x,dictOfLists[str(int(x)-1)][0] if len(dictOfLists[x][y])&gt;3: try: dictOfLists[x][y]=dictOfLists[x][y].remove('**') except: for z in dictOfLists[x][y]: if dictOfLists[x][y].count(z)&gt;2: print "removed ",z," at dictOfLists[",x,"][",y,"]", dictOfLists[x][y] dictOfLists[x][y].remove(z) #I think this produces an error: dictOfLists[x][y]=dictOfLists[x][y].remove(z) print "now, it looks like", dictOfLists[x][y] if len(dictOfLists[x][y])&gt;3: print "The Length is still greater than 3! at dictOfLists[",x,"][",y,"]", dictOfLists[x][y] #print "the reason you have a polyploid is not a mis-score" #print "dictOfLists[",x,"][",y,"]",dictOfLists[x][y] print "Reached the end of the loop" return dictOfLists </code></pre> <p>Error/output preceding the error:</p> <pre><code>x 449 and y 100 ['Yellow submarine', '273', '273'] Reached the end of the loop x 449 and y 101 ['Heartland', '250', '250', '250'] removed 250 at dictOfLists[ 449 ][ 101 ] ['Heartland', '250', '250', '250'] now, it looks like ['Heartland', '250', '250'] Reached the end of the loop x 449 and y 102 ['Julia', '116', '119', '**'] Traceback (most recent call last): File "fast_run.py", line 11, in &lt;module&gt; sample_names_list_e1_keys_as_numbers_e2=transpose.combine_allele_report_pipeline_dict(pipeline_directory, keeplist_address, rejected_samples_address) File "/Users/markfisher/transpose.py", line 887, in combine_allele_report_pipeline_dict samples=Purge_Polyploid_MisScores(samples) File "/Users/markfisher/transpose.py", line 1332, in Purge_Polyploid_MisScores if len(dictOfLists[x][y])&gt;3: TypeError: object of type 'NoneType' has no len() </code></pre> <p>In other words, <code>['Julia', '116', '119', '**']</code> seems to be failing at if <code>len(['Julia', '116', '119', '**'])&gt;3</code>, and I have no idea why.</p> <p>I hope that I've equipped you guys with enough to see my error! Thanks!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload