The E. coli lac operon contains 3 structural genes: lacZ, lacY, and lacA, as well as an upstream regulatory region consisting of an operator and a promoter (binding site for RNA polymerase).