Skip to main content
 首页 » 编程设计

由于字典变得太大,Python 函数花费的时间太长

2025年05月04日11soundcode

def assign_ID(dic,id): 
  for key, value in enumerate(dic): 
    for elem in range(value): 
      if id in dic[value]: 
        return value  

我上面的函数完成了我想要它做的事——但问题是,随着我程序主要部分中的字典 dic 变得越来越大,我的“assign_ID”函数花费了太长的时间。最初这个函数运行大约需要 1/100 秒,但在几千行输入之后,它开始需要半秒,然后是一整秒,然后更长。问题是我的输入文件太大,最终这个函数使整个程序至少需要整整两天才能运行。

有没有办法重写上面的函数,让它运行得更快?我希望能够定期运行这个程序,所以我真的希望它运行得比现在快。

非常感谢您的帮助!

请您参考如下方法:

好吧,直接摆脱enumerate。此外,您的第二个 for 循环什么也不做。也摆脱它:

def assign_ID(dic, id): 
    for key in dic: 
        if id in dic[key]: 
            return key 

上面的函数应该做你的旧函数做的所有事情,只是它会快得多。