You might want to look into nn.Sequential() which purpose is to add layers together as you are trying with the list.
Here is an example of a convolutional layer, followed by activation and then a pooling using sequential. Hope it makes sense.
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Sequential(         
            nn.Conv1d(
                in_channels=8,              
                out_channels=16,             
                kernel_size=5,              
                stride=1,                   
                padding=2,                  
            ),                              
            nn.ReLU(),                      
            nn.MaxPool1d(kernel_size=2), 
        ) 
       
    def forward(self, x):
        x = self.conv1(x.double()) #inputs (1,3,batch_size)