从 Python 列表中提取数字

新手上路,请多包涵

我正在使用 Python v2.x Windows 64 位。问题是,我想从列表中提取一个数字(102),但我只能得到一部分if。

这是一个列表:

 data = ['getmotors \r', 'Parameter,Value\r', 'Brush_RPM,0\r', 'Brush_mA,0\r', 'Vacuum_RPM,0\r', 'Vacuum_mA,0\r', 'LeftWheel_RPM,1800\r', 'LeftWheel_Load%,42\r', 'LeftWheel_PositionInMM,10452\r', 'LeftWheel_Speed,102\r', 'RightWheel_RPM,1800\r', 'RightWheel_Load%,42\r', 'RightWheel_PositionInMM,9650\r', 'RightWheel_Speed,102\r', 'ROTATION_SPEED,0.00\r', 'SideBrush_mA,0\r', '\x1a']

如何提取 LeftWheel_Speed (102) 的速度?我试过 data[9][-2] ,但我得到的是 ‘ 2 ’ 而不是 ‘ 102 ‘。

原文由 Amber.G 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 426
1 个回答

如果列表中包含单个 , 的所有项目都可以视为键值对,则可以将数据转换为字典。这使得访问您感兴趣的值变得容易。

 datadict = {}
for item in data:
    key_value = item.strip().split(',')
    if len(key_value) == 2:
        key, value = key_value
        datadict[key] = value
print(datadict['RightWheel_Speed'])  # 102

原文由 Håken Lid 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题