首页 > 解决方案 > 编写一个函数来修改列表中的字符串

问题描述

我正在尝试编写一个带有一个参数的函数:字符串列表。

每个字符串都是一天的缩写形式,例如:“Mon”、“Tue”、“Wed”等。

该函数应返回一个新列表,并将每一天转换为其全名:'Monday'、'Tuesday'、'Wednesday'等。

例如,当我们运行时:

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

那么我们期望输出是:

['Monday', 'Wednesday', 'Friday'] ​</p>

如果存在无法识别的短日期名称,则应忽略这一天并将其从格式化列表中过滤掉。

例如,如果我们调用如下函数:

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

那么输出将是:

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

该函数只需将一周中的所有日期转换为它们的全名:周一、周二、周三、周四、周五、周六、周日到周一、周二...等。

我不确定在我的函数中写什么,不胜感激,谢谢!

标签: pythonfunction

解决方案


使用字典,您可以将 设置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']

推荐阅读