title: pairs of similar code produces different results caused by "except" statements
body: <p>I'm trying to sort data in the form list1=[a,b,c] list2=[d,e,f] into the form [[a,d],[b,e],[c,f]]. If only [a,b,c] [d] or [a] [d,e,f] is given, I want it to result in [[a,d],[b,d],[c,d]] or [[a,d],[a,e],[a,f]], respectively. It seems to be handling list2 correctly, but not list1.</p>
  
  <p>I've added print statements to see what it's doing. I've also given the both pairs of code the same lists (not in shared code), but it handles them differently.</p>
  
  <pre><code>def synthesize(file_name,number_of_notes,root_note,duration,fuctions,frequency_ratios=[1]):
      note_data=[]
      for n in range(number_of_notes):
          note_data.append(["",""])
          try:
              note_data[n][0]=fuctions[n]
              print(functions[n])
              print("true")
          except:
              note_data[n][0]=fuctions[0]
              print(fuctions[0])
              print("false")
          print("\n")
          try:
              note_data[n][1]=str(frequency_ratios[n])
              print(frequency_ratios[n])
              print("true")
          except:
              note_data[n][1]=str(frequency_ratios[0])
              print(frequency_ratios[0])
              print("false")
          print("\n")
          print(note_data)
          print("\n")
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code> &gt;&gt;&gt; synthesize("test.wav",3,"C#",1,["sin(x)","sin(x+1)","sin(x+2)"],[4,5,6])
  sin(x)
  false
  
  
  4
  true
  
  
  [['sin(x)', '4']]
  
  
  sin(x)
  false
  
  
  5
  true
  
  
  [['sin(x)', '4'], ['sin(x)', '5']]
  
  
  sin(x)
  false
  
  
  6
  true
  
  
  [['sin(x)', '4'], ['sin(x)', '5'], ['sin(x)', '6']]
  </code></pre>
  
  <p>I expected there to be no "false" prints.</p>