gpt4 book ai didi

python - 在 Python 列表推导式中插入 tkinter 进度条

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:07 24 4
gpt4 key购买 nike

通常我使用一个简单的循环在 tkinter 中插入一个不确定的进度条。示例

self.pbar_ind = ttk.Progressbar(self, orient="horizontal", length=300, mode="indeterminate")

new_point_in_list = list()
for point in point_in_list:
self.pbar_ind.step(1)
self.update()
if point > 2:
new_point_in_list.append(point)

现在我正在使用列表推导来加速我的计算

new_point_in_list = [point for point in point_in_list if point > 2]

我想知道是否可以在列表推导式中插入 Tkinter 进度条

最佳答案

如果您担心性能,请删除对 self.update() 的调用。它将使您的循环速度减慢最多三个数量级。至少您应该每 1,000 次迭代左右调用它。

在快速测试中,我可以进行 10,000 次简单计算,从而在大约 0.0016 秒内将 1% 的值附加到循环中。当我在循环中添加对 update 的调用时,时间扩展到 1.0148 秒。

您在评论中说过您有 8000 万行需要迭代。我的相同代码可以在 12 秒内处理 8000 万次计算,而当我添加更新调用时,则需要超过 2 小时

与删除或减少更新调用相比,将代码转换为使用列表理解的影响可以忽略不计。

关于python - 在 Python 列表推导式中插入 tkinter 进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com