def list2num(mylist):
result = []
for item in mylist:
try:
if item.lower().startswith("0x"):
result.append(int(item, 16))
else:
result.append(int(item))
except ValueError:
pass
return result
Это дает вам
>>> numbers = ['LOAD','0x00134','0','0','R','E','0x1df0','0x1df0']
>>> list2num(numbers)
[308, 0, 0, 7664, 7664]
Или лучше, если вам нужен итератор, нам не нужно создавать этот список результатов в памяти:
def list2num(mylist):
for item in mylist:
try:
if item.lower().startswith("0x"):
yield int(item, 16)
else:
yield int(item)
except ValueError:
pass