当我想在字典中插入很多值时,如何提高python脚本的速度?

2024-04-20 07:47:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个脚本,需要在包含大规模数据的字典中为每个键插入一个值

for key, value in dict.items():
      score = somefunction(value)
      value.append(score)

这本字典有将近10万个键,所以计算起来要花很多时间。。你知道吗

我朋友说value.append文件“太费时了。 如果它与value.append文件, 如何改进此脚本以提高计算速度? )我在网上搜索过,好像很多人都用value.append文件在这种情况下)

非常感谢你的回答。你知道吗


Tags: 文件数据keyin脚本for字典value
1条回答
网友
1楼 · 发布于 2024-04-20 07:47:03

value.append本身并不慢,实际上它有一个摊销的O(1)运行时。 问题出在你的算法本身,据我所知,你有10万个不同的列表,你计算不同的分数,并逐一更新。如果你所有的单子都是独一无二的,恐怕没有办法提高速度,只能从根本上改变你存储分数的方式。你知道吗

不管怎样,我担心你的瓶颈在于你的some_function计算分数,因为遍历100k个列表应该是微不足道的。一旦你开始浏览更多的列表(百万/十亿),你可能会想另一种方法。你能把函数贴在这里吗?你知道吗

如果列表相同,最好创建一个主列表并将其保存到每个键。然后,由于每个键都引用相同的列表,因此更改其中一个键的列表将更改其他键的列表。你知道吗

相关问题 更多 >