Takes in two sorted lists and outputs a sorted list that is their union
I think your solution is ok.

Instead of using continue, consider using if..elif..elif..else:

if k &gt;= len1:
  ...
elif j &gt;= len2:
  ...
elif ...:
  ...
else:
  ...


Also, the test k &gt;= len1 is an example of "defensive programming". It protects against k skipping over len1 when being incremented in the loop. Also, the expression list1[k] doesn't make sense unless k &lt; len1, and the negation of that is k &gt;= len1 which is another good reason to use it in the if statement.

If you've learned about xrange() then I would use that instead of range() -- see these SO answers:

https://stackoverflow.com/questions/135041/should-you-always-favor-xrange-over-range

Otherwise it looks good!