here is an example of extract features from vgg with nn.Sequential.  nn.ModuleList should be similar.
from torch import nn
from torchvision.models import vgg16

class Vgg16(nn.Module):
    def __init__(self):
        super(Vgg16, self).__init__()
        features = list(vgg16(pretrained = True).features)[:23]
        # the output of 3,8,15,22 layer is : relu1_2,relu2_2,relu3_3,relu4_3
        self.features = nn.ModuleList(features)
        
    def forward(self, x):
        results = []
        for ii,model in enumerate(self.features):
            x = model(x)
            if ii in {3,8,15,22}:
                results.append(x)
        
        return results