Here is a simple solution, which allows you to specify different formats for each column:
import numpy as np
a = ["str1", "str2", "str3"]
b = [1.1, 2.2, 3.3]
np.savetxt("file.dat", np.array([a, b], dtype=object).T, fmt=["%s", "%.18e"], delimiter="\t")