【问题标题】:Dynamic Two Dimensional Array Creation Python动态二维数组创建 Python
【发布时间】:2019-11-22 15:26:42
【问题描述】:

我有一长串重复的两个十六进制字符,由从文件中读取的空格分隔,我想将其存储到二维(数组)列表中以供以后处理。字符串格式为:

file_content = "00 18 00 19 F0 0F 1A 80 FF C7 E8 11 7F 52 7D 00 F0 0D F0 0C 0B FF"

每个需要索引的子字符串都以“00”开头,以“FF”结尾。没有“FF”中间字符串的实例,但可能有“00”的实例,这使得这很棘手。我想将这些事件中的每一个都存储到列表中自己的索引中。例如:

event_list = [[00 18 00 19 F0 0F 1A 80 FF],[C7 E8 11 7F 52 7D 00 F0 0D F0 0C 0B FF],.....}

【问题讨论】:

  • 希望答案对您有所帮助,如果您有更多问题,请随时告诉我! :) 请考虑将您的答案标记为正确。

标签: python arrays python-3.x list sorting


【解决方案1】:

如果我理解正确,您将根据字符串中存在的 'FF' 对其进行拆分,因此您可能会得到以下内容:

event_list = [('%sFF' % x).strip().split(' ') for x in file_content.split('FF')[:-1]]

这将通过 'FF' 的存在拆分您的原始字符串,然后遍历拆分部分,在它们的末尾附加一个 'FF'。然后它通过空格字符拆分新字符串,生成一个新列表并将其附加到外部列表,在 1 行中创建您需要的 2D array :)

【讨论】:

  • 修复了兼容性
  • 当测试我得到的输出是 [['00', '18', '00', '19', 'F0', '0F', '1A', '80', ' FF'],['','C7','E8','11','7F','52','7D','00','F0','0D','F0','0C ', '0B', 'FF']],它是 OP 要求的二维字符串数组。
猜你喜欢
  • 2013-02-22
  • 2011-08-14
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 2020-05-20
  • 2017-06-01
  • 2019-04-19
  • 2013-05-02
相关资源
最近更新 更多