zoukankan      html  css  js  c++  java
  • 前方高能--统计一列表中的所有变量类型出现的次数

    my_list = [1,2,3.5,3+5j,True,False,[1,2],[(1,2),("x","y")],(1,),(3,"x"),{"name":"hhq","sex":"m"},"abc","school",{True,False}]
    刚看到这个题,让我想起我刚接触python时候的想法,不就是统计吗?用字典呗,没错
    但是看这个列表类型好多啊,1,2,3,4,5....我眼花了
    (这不是程序员该干的事啊,我太难了)
    那么...有没有其他办法?当然有,正好刚复习了正则表达式,ok 动手吧!
     
     
    import re
    d = {}
    def get_type(s):
        """获取变量类型"""
        p = re.search(r"'.*'", str(type(s))).group()
        # p此时是这样的"'str'",于是我又加了一层判断
        if p:
            return re.search(r"w+", p).group()
    
    for i in my_list:
        t = get_type(i)
        if t not in d:
            d[t] = 1
        else:
            d[t] += 1
    
    print(d)
    

      完事,是不是省了好多事?

            我还在想能不能用推导列表干这个事,还没想出个头绪,有想出来的不妨分享一下我哈!

  • 相关阅读:
    IT之光
    个人作业3——个人总结(Alpha阶段)
    结对编程2——单元测试
    个人作业2
    结对作业1
    个人作业1
    个人作业3——个人总结(Alpha阶段)
    结对编程2--单元测试
    个人作业2——英语学习APP案例分析
    结对编程1
  • 原文地址:https://www.cnblogs.com/jueshilaozhongyi/p/12143209.html
Copyright © 2011-2022 走看看