python 如何实现变量的自动生成

不知道实际分类数目,需要统计各类别的数量,采用常规方法(先计算类别数,在定义各类别数量的变量)将会非常麻烦,采用变量自动生成将能便捷的解决该类问题,或其他需要自动生成变量的场合。

具体将通过一个例子解释如何操作
在该例子中期望统计各分类的数量输出格式:
综合:4
理工:5

代码如下:

ls = ['综合','理工','综合','军事','农林','师范','理工','综合','理工','综合',  
     '理工','综合','理工','综合','军事','农林','师范']
ls_list = list(set(ls)) # 通过集合来确定类别的数量
len_list = len(ls_list)
for i in range(len_list):
    exec('sub_%d = 0' % i)  # 自动生成分类变量初始化为0
b = 0
for i in ls:
    b += 1
  #  print('循环1第{}次迭代->>>>>{}'.format(b, i))
    for j in range(len_list):
      #  print('\t','循环2第{}次迭代 —>>>>>>>{}'.format(j,ls_list[j]))
        if i == ls_list[j]:
            exec('sub_%d += 1' %j)  
          #  print(eval('sub_%d' %j))
            break
        else:
            pass
for k in range(len_list):
    
    print(ls_list[k],':',eval('sub_%d'%k))
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值