Изменение содержимого элементов списка

Я хочу из этого

mas = ['1', '2.0', '3,0', '4%', '5.0%', '6,0%', 'seven1', 'eight.', 'nine,', 'ten%', ',11', '12,', '...', '.13', '14.', '']
n = True

получить это

mas = ['1', '2.0', '3.0', '4', '5.0', '6,0', 'seven1', 'eight.', 'nine.', 'ten', ',11', '12,', '...', '.13', '14.', '0']
n = False

Все ',' заменить на '.'

Все '%' удалить

Все '' заменить на '0'

переменная n принимает значение False, если переменная списка содержит буквы

переменная n принимает значение False, если переменная списка не содержит цифры

переменная n принимает значение False, если переменная списка начинается или заканчивается на '.'


Ответы (2 шт):

Автор решения: Zhihar

не совсем понял вопрос - вам вот это нужно:

mas = ['1', '2.0', '3,0', '4%', '5.0%', '6,0%', 'seven1', 'eight.', 'nine,', 'ten%']

res = list(filter(lambda obj: not any(letter.isalpha() for letter in obj), [obj.replace('.', ',').replace('%', '') for obj in mas]))

print(res)

или вот это:

mas = ['1', '2.0', '3,0', '4%', '5.0%', '6,0%', 'seven1', 'eight.', 'nine,', 'ten%']

res = [obj.replace('.', ',').replace('%', '') for obj in mas]

isCorrect = all((not any(letter.isalpha() for letter in obj)) for obj in res)

print(isCorrect)
print(res)
→ Ссылка
Автор решения: Danis
mas = ['1', '2.0', '3,0', '4%', '5.0%', '6,0%', 'seven1', 'eight.', 'nine,', 'ten%', ',11', '12,', '...', '.13', '14.', '']
n = True

mas = [el.replace(',', '.').replace('%', '') or '0' for el in mas]

for el in mas:
    if el[0] == '.' or el[-1] == "." or set(el)-set("0123456789."):
        n = False
        break 
→ Ссылка