适当的数据结构在python中实现

时间:2015-08-25 21:10:26

标签: python data-structures

如果这不是一个写得不好的问题,我很抱歉。

我从硬件中检索感官数据记录。有许多传感数据记录,每个记录都有十六进制字节行。一次一个地收到回复。它是一行十六进制字节,一次返回一行。例如:它从第一个记录返回第一行并继续直到第一个记录结束。然后它移动到第二个记录...... 我需要帮助在python中找到合适的数据结构。

回复

第一记录

02 00 20 00 01 15 01 67 40 09 6f 71

02 00 00 71 00 71 00 c0 00 00 01 00

02 00 00 00 00 00 00 00 cf 50 77 72

02 00 20 55 6e 69 74 20 53

第二记录

03 00 20 00 03 07 01 67 40 23 6f 0f 01 00 00 0f  01

03 00 c0 00 00 01 00 00 00 00 00 00 00 cd 49 50  图4d

03 00 49 20 57 61 74 63 68

等等,直到最后一条记录

1 个答案:

答案 0 :(得分:0)

这个问题非常广泛且基于意见,所以我不得不标记,但这里有一个解决方案:

您可以使用列表中包含的行的字典作为值:

records = {}
records["1st Record"] = ["02 00 20 00 01 15 01 67 40 09 6f 71", "02 00 00 71 00 71 00 c0 00 00 01 00", "02 00 00 00 00 00 00 00 cf 50 77 72", "02 00 20 55 6e 69 74 20 53"]
records["2nd Record"] = ["03 00 20 00 03 07 01 67 40 23 6f 0f 01 00 00 0f 01", "03 00 c0 00 00 01 00 00 00 00 00 00 00 cd 49 50 4d", "03 00 49 20 57 61 74 63 68"]

等等。我无法看到你如何收到价值观,但我假设你会按照以下方式这样做:

for record in data:
    records[record] = []
    for line in record:
        records[record] += [line]

最后你有:

print(records)

>>> {'1st Record': ['02 00 20 00 01 15 01 67 40 09 6f 71', '02 00 00 71 00 71 00 c0 00 00 01 00', '02 00 00 00 00 00 00 00 cf 50 77 72', '02 00 20 55 6e 69 74 20 53'], '2nd Record': ['03 00 20 00 03 07 01 67 40 23 6f 0f 01 00 00 0f 01', '03 00 c0 00 00 01 00 00 00 00 00 00 00 cd 49 50 4d', '03 00 49 20 57 61 74 63 68']}