namedtuple如何处理多个tupledict的数据?

    技术2022-07-12  89

    一个很省内存的工具,其基础类型是tuple

    namedtuple:

          线程安全,可哈希,元组不可修改哦~(非绝对)

         

    example:

          Userprofile = ("Userprofile","name,email,user_id") # 1

          Userprofile = ("Userprofile","name email user_id") # 1

          Userprofile = ("Userprofile",["name","email","user_id"]) # 1

    #三种传递方式都是可以的!

     

          User_Info_tuple = ("Trump","example@example.com")

          User_info_dict = {"name":"Trump","email":"example@example.com"}

    #只要是iterable 都是可以通过_make()传递的

          Userprofile._make(User_Info_tuple) #传递一个iterable !

          Userprofile._make(User_dict_tuple)

    # obj._asdict() 将里面的数据dict化,返回的是OrderedDict类型!

          Userprofile._asdict()

     

    #如何处理多个数据? 个人感觉namedtuple在处理大量数据方面比较弱

    from collections import namedtuple p_info = [{"name":"Trump","age":74}, {"name":"Baden","age":82}, {"name":"Sleep boy","age":83}, {"name":"Dolly","age":29} ] person = namedtuple("person",["A"+str(i) for i in range(0,len(p_info))]) # 动态生成key! 可以修改,我能想到的方法就只有这个了~~~ p = person(*p_info) print(p.A0.get("name")) #这里会有点不兼容,Pycharm会显示高亮,不可取~

    # 比如我想要比较我的p_info里面的数据那个不同,如果单单是用循环的话,那么程序的内存消耗会很吃紧的! 所以我就想着用namedtuple试试,结果还是很不错的~

     

     

     

     

    Processed: 0.013, SQL: 9