First, let's make a function that converts one of the values:
def hexdump_to_float(text):
return struct.unpack('<f', bytes.fromhex(text))[0]
Notice:
I skip the step of finding byteArrObj or byteObj from your code, because they had no effect in your code and do not help solve the problem.
I use the type bytes rather than bytearray because we don't need to modify the underlying data. (It's analogous to using a tuple rather than list.)
I do not bother with slicing the data, because we already know there will be only 4 bytes, and because struct.unpack would ignore any extra data in the buffer anyway.
To get the value out of the tuple that struct.unpack returns, I simply index into the tuple. That gives me a single float value.
So this is a simple one-line function, but it helps to make a function anyway since it gives a clear name for what we are doing.
The next step is to apply that to each element of the list. You can do this easily with, for example, a list comprehension:
my_floats = [hexdump_to_float(x) for x in my_hexdumps]
0.927322from64 EA BD 3Dor0.09273222088813782?