python - 如何使用列表推导计算嵌套列表的 bmi?
问题描述
这是列表>
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]
但是,我希望列表理解能够遍历所有人的体重和身高。只为第一个嵌套列表执行此操作。请帮忙。
解决方案
您没有在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]
推荐阅读
- ansible - Ansible:delegate_to 组无法正常工作
- excel - 使用openpyxl将Excel单元格背景主题颜色作为十六进制
- mysql - 表中日期的位置
- mysql - 在 Docker 镜像中安装 MySql 并加载 Dump
- javascript - React-router v4 可选参数
- reactjs - 不能将 FluidTransitions 与 React-Native-Navigation 一起使用
- javascript - 如何使用 Firebase 函数从 Firestore 获取价值?
- javascript - 导入material-ui组件的不同方式有什么区别?
- c# - 从 T4 文本模板的生成器代码中的另一个程序集获取 System.Type
- c - C - 编译程序时出现多个警告“指针缺少可空性类型说明符”,我该怎么办?