在Python中,如何获取一系列平均值并对它们进行排序?
player_avg是一个字符串,包含棒球运动员的击球平均数,以逗号分隔:在Python中,如何获取一系列平均值并对它们进行排序?,python,Python,player_avg是一个字符串,包含棒球运动员的击球平均数,以逗号分隔: player_avg = "0.209,0.305,0.265,0.175,0.324,0.215,0.362,0.178,0.273,0.309" 如何编写代码来计算击球率大于0.299的球员数量,并将结果存储在变量num_players_over_300中?将字符串拆分为一个列表,然后对其排序。仅获取大于0.300的值 avg_list = sorted([float(avg) for avg in player_
player_avg = "0.209,0.305,0.265,0.175,0.324,0.215,0.362,0.178,0.273,0.309"
如何编写代码来计算击球率大于0.299的球员数量,并将结果存储在变量num_players_over_300中?将字符串拆分为一个列表,然后对其排序。仅获取大于0.300的值
avg_list = sorted([float(avg) for avg in player_avg.split(',')])
players_over_300 = [avg for avg in avg_list if avg > 0.3]
num_players_over_300 = len(players_over_300)
这是一个列表理解的备选方案:
player_avg = "0.209,0.305,0.265,0.175,0.324,0.215,0.362,0.178,0.273,0.309"
num_players_over_300 = len([float(i) for i in player_avg.split(',') if float(i) > 0.299])
输出:
四,
这是你的密码
使用您可以学习的基本步骤编写代码-
>>> player_avg = "0.209,0.305,0.265,0.175,0.324,0.215,0.362,0.178,0.273,0.309"
>>> player_avg.split(',')
['0.209', '0.305', '0.265', '0.175', '0.324', '0.215', '0.362', '0.178', '0.273', '0.309']
>>> arr = player_avg.split(',')
>>> arr
['0.209', '0.305', '0.265', '0.175', '0.324', '0.215', '0.362', '0.178', '0.273', '0.309']
>>> op = []
>>> for i in arr:
... if float(i) > 0.299:
... op.append(float(i))
...
>>> op
[0.305, 0.324, 0.362, 0.309]
>>> op.sort()
>>> op
[0.305, 0.309, 0.324, 0.362]
>>>
你能分享你写的产生错误输出的代码吗?你要求做什么,对数字进行排序,或者找到超过某个值的数字?所以0.300算作超过300?到底是什么问题?你真的尝试过什么,做过什么研究吗?为什么你以前需要排序?他的标题是Python,我如何获取一系列平均值并对它们进行排序?。
>>> player_avg = "0.209,0.305,0.265,0.175,0.324,0.215,0.362,0.178,0.273,0.309"
>>> player_avg.split(',')
['0.209', '0.305', '0.265', '0.175', '0.324', '0.215', '0.362', '0.178', '0.273', '0.309']
>>> arr = player_avg.split(',')
>>> arr
['0.209', '0.305', '0.265', '0.175', '0.324', '0.215', '0.362', '0.178', '0.273', '0.309']
>>> op = []
>>> for i in arr:
... if float(i) > 0.299:
... op.append(float(i))
...
>>> op
[0.305, 0.324, 0.362, 0.309]
>>> op.sort()
>>> op
[0.305, 0.309, 0.324, 0.362]
>>>