Написание функции для изменения строк в списке - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь написать функцию, которая принимает один аргумент: список строк.

Каждая строка представляет собой краткую форму для дня, например: «Пн», «Вт», «Ср. ', et c.

Функция должна возвращать новый список с преобразованием каждого дня в его полное имя: «Понедельник», «Вторник», «Среда» и др. c.

Например, когда мы запускаем:

result = format_days(['Mon', 'Wed', 'Fri'])
print(result)

, мы ожидаем, что результат будет:

['Monday', 'Wednesday', 'Friday']

Если существует короткое название дня, которое не распознан, он должен игнорировать этот день и отфильтровать его из отформатированного списка.

Например, если мы вызвали такую ​​функцию как:

result = format_days(['Sat', 'Fun', 'Tue', 'Thu'])
print(result)

Тогда вывод будет:

['Saturday', 'Tuesday', 'Thursday']

Функция должна преобразовывать только все дни недели в их полные имена: понедельник, вторник, среда, четверг, пятница, суббота, воскресенье и понедельник, вторник ... et c.

Я не совсем уверен, что написать в моей функции, помощь будет оценена, спасибо!

1 Ответ

3 голосов
/ 16 марта 2020

Используя словарь, вы можете установить keys для сокращенной версии дня и значение для отображаемого имени.

def format_days(data):
    days = {'Mon': 'Monday',
        'Tue': 'Tuesday',
        'Wed': 'Wednesday',
        'Thu': 'Thursday',
        'Fri': 'Friday',
        }
    return [days[v] for v in data if v in days]

format_days(['Mon', 'Fri', 'Thu'])

Вывод:

['Monday', 'Friday', 'Thursday']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...