Is it possible to use an Expression to combine 4 bytes to a float?

Is it possible to use expression language to combine 4 bytes to a float? I realized IEEE 754 won't allow bit shifting and ORing like we do with combining multiple bytes to an integer so I've been using the script below but would really like to have an expression if possible. Anyone have any ideas?

data = [66, -107, 23, -112]
b = struct.pack('4b', *data)
import struct
num = struct.unpack('f', b)
print num[0]

I think you best you can do is the runScript expression function.