区别
append:
会将待加入的对象当做一个整体,在加入之后的列表中只占用了一个索引,
比如待加入的对象又是一个列表, 但该列表加入之后,只用了一个索引;
extend:
将待加入的对象拆分开来, 逐个加入其中,每一个都会占用索引。
同样,待加入的对象是一个列表,但是该该列表中有三项, 则此时占用三个了索引。
layers = []
layers = []
if expand_ratio != 1:
# pw
layers.append(ConvBNReLU(inp, hidden_dim, kernel_size=1, norm_layer=norm_layer))
layers.extend([
# dw
ConvBNReLU(hidden_dim, hidden_dim, stride=stride, groups=hidden_dim, norm_layer=norm_layer),
# pw-linear
nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False),
norm_layer(oup),
])