如何只用for loop计算每个类型出现的次数

给出一个随机类型的列表lst,以列表形式返回每个类型的出现次数。
每个类型的出现次数,以列表的形式,按照它们第一次出现的顺序。
例如,如果输入['str1', 1, 'str2'],输出将是[2, 1]。(因为字符串类型首先出现,并在列表中出现两次。一个整数类型出现在后面,并且只在列表中出现一次。)
[True, 'str1', 1, False, 'str2', True],
输出是[3, 2, 1]

lst=eval(input())
d={}
l=[]
for i in lst:
    if type(i) in d:
        d[type(i)]+=1
    else:
        d[type(i)]=1
for i in d:
    l.append(d[i])
print(l)


 有帮助请采纳