python - 编写一个函数来修改列表中的字符串
问题描述
我正在尝试编写一个带有一个参数的函数:字符串列表。
每个字符串都是一天的缩写形式,例如:“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']
该函数只需将一周中的所有日期转换为它们的全名:周一、周二、周三、周四、周五、周六、周日到周一、周二...等。
我不确定在我的函数中写什么,不胜感激,谢谢!
解决方案
使用字典,您可以将 设置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']
推荐阅读
- javascript - 每分钟重新排列行的方法
- node.js - 将字符串转换为字典
- python-3.x - Python 解码 utf
- testing - Katalon Studio:WebUI.verifyElementText 看不到元素中的文本
- entity-framework - 实体框架需要可选
- user-interface - 如何在没有 BIOS 的情况下在屏幕上绘制像素?
- sql - 如何有条件地为某些字段选择一行,输出中的最小最大日期
- jxbrowser - 是否可以在不需要 Internet 连接的情况下访问 JavaScript 库?
- recaptcha - 错误:不存在 reCAPTCHA 客户端 (reCAPTCHA v3)
- visual-studio-code - 使用 lldb 在 VS Code 中进行调试,如何在没有源代码的符号上设置断点?