首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python..looking中,用于从datetime输出字符串和从列表输出float的简单代码

在python..looking中,用于从datetime输出字符串和从列表输出float的简单代码
EN

Stack Overflow用户
提问于 2020-01-20 02:42:31
回答 2查看 51关注 0票数 0

我想遍历前五个列表中的每个平均值(指数)和每小时(Index1)(按此顺序):A= [38.59,'15',23.81,'02',21.52,'20',16.8,'16',16.01,'21',14.74,'13',13.44,'10',13.24,'18',13.23,'14',11.46,'17']

我想使用str.format()方法以以下格式打印小时数和平均值: output str = "15:00: 38.59每篇文章的平均评论数“

要格式化小时,我可以使用datetime.strptime()构造函数返回一个datetime对象,然后使用strftime()方法指定时间的格式。

要格式化平均值,我可以使用{:.2f}来表示应该只使用两位小数。我如何用2-3行代码来实现这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-20 02:49:59

代码语言:javascript
复制
from datetime import datetime as dt

a = [[38.59, '15'], [23.81, '02'], [21.52, '20'], [16.8, '16'], [16.01, '21'], [14.74, '13'], [13.44, '10'], [13.24, '18'], [13.23, '14'], [11.46, '17']]
for elem in a[:5]:
    dtObj = dt.strptime(elem[1], '%H')
    timeString = dt.strftime(dtObj, '%H:%M')
    roundedAverageString = "{0:.2f}".format(elem[0])
    print("{}: {} average comments per post".format(timeString, roundedAverageString))

输出示例: 15:00: 38.59平均每篇评论

票数 2
EN

Stack Overflow用户

发布于 2020-01-20 03:07:47

在给定数据的情况下,使用datetime是过度杀伤力:

代码语言:javascript
复制
data = [[38.59, '15'], [23.81, '02'], [21.52, '20'], [16.8, '16'], [16.01, '21'], [14.74, '13'], [13.44, '10'], [13.24, '18'], [13.23, '14'], [11.46, '17']]
for ave,hr in data[:5]:
    print(f'{hr}:00: {ave:5.2f} average comments per post')
代码语言:javascript
复制
15:00: 38.59 average comments per post
02:00: 23.81 average comments per post
20:00: 21.52 average comments per post
16:00: 16.80 average comments per post
21:00: 16.01 average comments per post
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59813219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档