如何使用列表理解计算嵌套列表的bmi?

2024-04-19 16:14:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这是列表>

person_data = [
              ['John', 84.9, 184],
              ['Ryan', 81.8, 177],
              ['Bobby', 86.1, 190],
              ['Lambda Llama', 140, 180],      # Name, Weights, Heights
              ['Pete', 92.2, 188],
              ['Esther', 69.6, 159],
              ['Jane', 72.0, 166],
              ['Samantha', 51.3, 162]
              ]

这就是我目前能做的

BMI = [person_data[0][1]/((person_data[0][2]/100)**2)
      for i in person_data]

结果是

[25.07679584120983,
 25.07679584120983,
 25.07679584120983,
 25.07679584120983,
 25.07679584120983,
 25.07679584120983,
 25.07679584120983,
 25.07679584120983]

然而,我希望列表理解能够循环遍历所有人的体重和身高。仅对第一个嵌套列表执行此操作。请帮忙


Tags: lambdanamegt列表datajohnpersonweights
1条回答
网友
1楼 · 发布于 2024-04-19 16:14:43

您没有在任何地方使用迭代变量i。每个项目都是一个人(属性列表),因此您需要执行以下操作:

BMI = [person[1]/((person[2]/100)**2) for person in person_data]

结果:

[25.07679584120983,
 26.109993935331477,
 23.850415512465375,
 43.20987654320987,
 26.086464463558173,
 27.530556544440483,
 26.1286108288576,
 19.547325102880652]

相关问题 更多 >