多重にネストしててもよいようにするなら再帰かな。

from types import ListType, TupleType

def flatten(sequence):
  buffer = []
  for item in sequence:
    if type(item) in [ListType, TupleType]:
      buffer.extend(flatten(item))
    else:
      buffer.append(item)
  return buffer

print flatten([[1, 2], [3], [4, 5 ,6]])
print flatten([(1, [2]), [[3], ([4, 5], 6)]])