Изменение содержимого элементов списка
Я хочу из этого
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