gpt4 book ai didi

python - 如何更新 Python 中收到的每个数据的时间

转载 作者:太空宇宙 更新时间:2023-11-04 02:12:53 25 4
gpt4 key购买 nike

我是 python 的初学者,我正在编写一个脚本来节省从算法接收的数据的时间

在脚本中,我有一个算法接受少量参数并返回它检测到的数据的 ID。下面是它的一些输出:

S.No    Data Id         Time
1 0 2018-11-16 15:00:00
2 0, 1 2018-11-16 15:00:02
3 0, 1 2018-11-16 15:00:03
4 0, 1, 2 2018-11-16 15:00:05
5 0, 1, 2 2018-11-16 15:00:06
6 0, 2 2018-11-16 15:00:08

从上面的输出中,我们可以看到在第一次尝试时它检测到了 id 0 的数据。在第二次尝试中,它检测到 id 1 的数据,因此检测到的总数据 id 0, 1。在第 4 次尝试中,它检测到 2 id。这在 while True 中运行时继续进行。从上面我们可以说 0 id 的时间段是 8 秒1 时间段是 4 秒 对于 2,它是 3 秒。我需要计算这些时间段。为此,我编写了以下代码:

data_dict = {}       # To store value of time for each data id
data_dict_sec = {} # To store value of seconds for each data id

data = amc_data_retention() # data contains the data id

for dataID in data.items():
if run_once:
run_once = False
data_dict[dataID] = time.time()
data_dict_sec[dataID] = 0


for dataID in data.items():
if dataID in data_dict:
sec = time.time() - data_dict[dataID]
data_dict_sec[dataID] += sec
data_dict[dataID] = time.time()

else:
print("New data detected")

第一个for循环运行一次,它将dataID的时间值保存在dict中。在下一个 for 循环中,该时间减去当前时间,总秒数保存在 data_dict_sec 中。在第一次迭代中,总秒数将为 0,但从下一次迭代开始,它将开始保存正确的秒数。仅当有 1 个数据 ID 时,这才能正常工作。一旦第二个数据到来,它就不会记录时间。

任何人都可以建议一个写这个的好方法。主要目标是为每个数据 ID 保存时间段的值。请帮忙。谢谢

最佳答案

唯一一次将 data_ID 键添加到 data_dict 是在第一次运行时。它应该添加每个新的 data_ID 是看到的。我没有看到需要第一个 for 循环,它只在第一次运行时添加 data_ID 键。如果您将字典键初始化移动到第二个 for 循环中,它可能会执行您需要的操作,它会检查 data_ID 是否在 data_dict 中。如果不是,则对其进行初始化。

也许这会满足您的需求:

data_dict = {}       # To store value of time for each data id
data_dict_sec = {} # To store value of seconds for each data id

data = amc_data_retention() # data contains the data id

for dataID in data.items():
if dataID in data_dict:
sec = time.time() - data_dict[dataID]
data_dict_sec[dataID] += sec
data_dict[dataID] = time.time()

else:
print("New data detected")
data_dict[dataID] = time.time()
data_dict_sec[dataID] = 0

关于python - 如何更新 Python 中收到的每个数据的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340293/

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