Creating highpass from lowpass in Python I want to create high pass filter from low pass filter in Python. My code:

h_lowpass = lp_design_window(fc, N, window)   
dirac_delta = np.concatenate((np.ones(1), np.zeros(h_lowpass.shape[0] - 1)))
h_highpass = dirac_delta - h_lowpass


where lp_design_window is the function with arguments: cutoff frequency, number of coefficients and window function - and returns coefficients of low pass filter using window method. It attenuates desired frequencies, but not enough. Is it something wrong with dirac_delta? Or maybe I should search for the problem somewhere else?
You need to line up your direc_delta with the center tap of your low pass filter. Put the 1 in the middle at N/2.