如何在python里不用dict的情况下用循环返回列表里每个类型的数量

如题,
给出一个随机类型的列表,以列表形式返回每个类型的出现次数。每个类型的出现次数,以列表的形式,按照它们第一次出现的顺序。
比如
[True, 'str1', 1, False, 'str2', True]
返回 [3, 2, 1]
在不使用dict的情况下用for loop完成

用两个列表来代替字典,不过思路和用字典一样

def num_type(L):
    list_type = []
    list_num = []
    for elem in L:
        if type(elem) in list_type:
            list_num[list_type.index(type(elem))] += 1
        else:
            list_type.append(type(elem))
            list_num.append(1)
    return list_num