Python 2.7: словарь (переключатель заявление) значенийPython 2.7: словарь (переключатель заявление) значения
Я декодирование (струнный массив) шестигранные значений в поплавки, и я хотел бы использовать словарь для сохраняйте полученные значения float, хотя я не вижу, как это сделать. Для быстрого исправления я использовал инструкцию if-elif для этого - можно ли использовать словарь для этого? Это мой код до сих пор:
# assume data is in IEEE 754 format
import struct
from binascii import unhexlify
inputData = ['41', 'b8', '00', '00', '40', '5d', '70', 'a4', '40', '07', 'ae', '14']
outputData = {'first': 0.0, 'second': 0.0, 'third': 0.0}
for offset in [0, 4, 8]:
valueBytes = inputData[offset:offset+4]
value = struct.unpack('>f',unhexlify(''.join(valueBytes)))[0]
print valueBytes, '=>', value
if offset == 0:
outputData['first'] = value
elif offset == 4:
outputData['second'] = value
elif offset == 8:
outputData['third'] = value
# could use if-else here but I'd like a dictionary
#options = {
# 0 : outputData['first'] = value,
# 4 : outputData['second'] = value,
# 8 : outputData['third'] = value
# }[offset]