Python 使用听写还是上课?哪个更快?

Python 使用听写还是上课?哪个更快?,python,dictionary,Python,Dictionary,我得到一个多级dict对象,我必须处理它。我所说的多级是指顶级dict有一些以dict为值的键 e、 g 实际的dict是巨大的。它有10多个键和4个级别。有时可能缺少一些可选键 我制作了一些课程来保持代码的条理化。 e、 g 我的问题是我应该直接在脚本中使用dict而不是制作类吗 执行时间短很重要。从dict初始化类会使它变慢吗 编辑::我计时了。类的初始化平均需要80微秒,应用程序必须在250毫秒内完成所有处理。我现在必须查看处理所花费的时间,以确定我是否能够承受80微秒 谢谢你的回答。我还

我得到一个多级dict对象,我必须处理它。我所说的多级是指顶级dict有一些以dict为值的键

e、 g

实际的dict是巨大的。它有10多个键和4个级别。有时可能缺少一些可选键

我制作了一些课程来保持代码的条理化。 e、 g

我的问题是我应该直接在脚本中使用dict而不是制作类吗

执行时间短很重要。从dict初始化类会使它变慢吗

编辑::我计时了。类的初始化平均需要80微秒,应用程序必须在250毫秒内完成所有处理。我现在必须查看处理所花费的时间,以确定我是否能够承受80微秒


谢谢你的回答。我还将使用Cython来处理数据。

只是为了回答这个问题,使用您已经设置好的dict会更快。正如我在评论中所说,在CPython中创建对象,即使是很小的对象,也是极其昂贵的。

为了回答这个问题,使用您已经设置好的dict会更快。正如我在评论中所说的,在CPython中创建对象,即使是很小的对象,也是极其昂贵的。

您每毫秒要对这些数据进行多少次访问?我的意思是,我只想确保它是可维护的。问题是:将它包装到类中有什么好处?如何处理任意深度的词典?@akonsu平均预期访问率约为50/秒。您不应使用类仅封装数据。如果还希望封装行为或属性,则应使用类methods@WaleedKhan-从数据库访问时,您认为它将如何存储?将事物作为对象存储在RAM中几乎总是比从数据库中获取快。您将以每毫秒数百万次的速度访问这些数据?我的意思是,我只想确保它是可维护的。问题是:将它包装到类中有什么好处?如何处理任意深度的词典?@akonsu平均预期访问率约为50/秒。您不应使用类仅封装数据。如果还希望封装行为或属性,则应使用类methods@WaleedKhan-从数据库访问时,您认为它将如何存储?将事物作为对象存储在RAM中几乎总是比从数据库中获取快。
{'l1key1' : 'value1'
 'l1key2' : {
             'l2key1': 'something'
             'l2key2': {
                        'l3key1': 'something' 
                        'l3key2': 'something else'
                       }
            }
 'l1key3' : 'some other value'
}
Class Level3():
    def __init__(self, l3dict):
        if not l3dict:
            self.exists = False
        else:
            self.exists = True
            self.l3key1 = l3dict.get('l3key1') 
            self.l3key2 = l3dict.get('l3key2')

Class Level2():
    def __init__(self, l2dict):
        if not l2dict:
            self.exists = False
        else:
            self.exists = True
            self.l2key1 = l2dict.get('l2key1') 
            self.l2key2 = Level3(l3dict.get('l2key2'))

Class Level1():
    def __init__(self, mydict):
            self.l1key1 = mydict.get('l1key1') 
            self.l1key2 = Level2(mydict.get('l1key2'))
            self.l1key3 = mydict.get('l1key3')


#usage
mydict = json.loads(thejson)     #the json I am getting as input
myobject = Level1(mydict)