Ваш код разбит, потому что он пытается преобразовать строку с нечисловыми символами, например:
In:
text = 'L'
print int(text)
Out:
ValueError: недопустимый литерал для int () с основанием 10: 'L'
Но если:
In:
text = '2'
print int(text)
Out:
2
Однако я думаю, что большинство строк вашего кода бесполезны.Я просто привязан, чтобы удалить эти части.И вот оно:
Редактировать:
def i_am_here(path):
num = []
for i in path:
if isinstance(i, str): #check if 'i' is a sting type
if i.isdigit():
num.append(int(i))
else:
num.append(i.lower())
else:
num.append(i)
return(num)
Например:
path= [5, 'r', 'L', 0.00032,'l','55','%','R', [], '{}'] #This is an example
num_List = i_am_here(path)
for i in num_List :
if i != 'r':
print(i)
Вы в буквальном смысле пытаетесь преобразовать строки в верхнем регистре в нижний регистр.