从字符串中拉出数据包数据并存储到数组

时间:2017-07-14 08:37:04

标签: python-2.7

我将控制台应用程序中的数据包数据作为字符串以下列格式提取: -

AABBCCDDAABBCCDDAABBCCDD

每个字符都是一个字节,每个块,即AA实际上是一个需要连接起来形成ctypes.c_ushort的值。

我希望将这些数据放在4个数组中 - 一个包含所有的AA,一个包含所有的BB等。

我怀疑可能有一种非常简单的方法可以做到这一点,但是很多尝试并将搜索条件插入谷歌并没有设法提供我想要的东西,所以希望这里的人可以提供帮助。

提前感谢您提供的任何帮助。戴夫

1 个答案:

答案 0 :(得分:1)

这应该这样做:

data = "AABBCCDDAABBCCDDAABBCCDD"
Aarr = []
Barr = []
Carr = []
Darr = []
MasterArr = [Aarr, Darr, Carr, Barr]

for i in xrange(len(data) / 2):
    MasterArr[(4 - i) % 4].append(data[i * 2:(i * 2) + 2])

print MasterArr

显然,第2-6行可以简化为:

MasterArr = [[], [], [], []]

我把它做得更长,所以理解起来会更加清晰。

编辑:简化了理解