python - Python中条件加法的单行代码
问题描述
if time[-2:] == 'PM':
h = h % 12 + 12
else:
h = h % 12
我想将上面的 Python 代码简化为如下所示:
h = h % 12 + (time[:-2] == 'PM') * 12
time
是“hh:mm:ss:PM”形式的字符串。有人可以帮助我为这个 if-else 语句找到一个单行符吗?
解决方案
您可以使用 python 的条件表达式(三元运算符)来获取要添加的数量。例如:
time = '02:30:11 PM'
h = 2
h = h % 12 + (12 if time[-2:] == 'PM' else 0)
print(h)
time = '04:17:54 AM'
h = 4
h = h % 12 + (12 if time[-2:] == 'PM' else 0)
print(h)
输出
14
4
推荐阅读
- python - 加速和优化 Python 循环
- c++ - QLabel 没有正确更新
- r - ggplot2 中带有 geom_bar() 的回归线
- python-3.x - ValueError list.remove(x): x not in list - 但是 x 在那里我得到了值
- c# - VS 显示对通用类型参数的建议
- javascript - 滚动时仅触发一次 onwheel 侦听器
- azure - 将iothub消息分发到所有分区
- vue.js - 安装 Vuejs 时遇到问题
- python - Marshmallow:如何将字典或对象序列化为 XML?
- javascript - 在 javascript 中访问 JSON 并在控制台中打印它