python - 遍历python中的列表列表
问题描述
我有以下类型的列表。我想使用我编写的函数来规范化这个列表。例如-规范化()。我想将第二个最里面的列表传递给 normalize()。我想一次做一份清单。
[[['179.0', '77.0'],
['186.0', '93.0'],
['175.0', '72.0'],
['195.0', '68.0']],
[['178.0', '76.0'],
['185.0', '93.0'],
['164.0', '91.0'],
['155.0', '117.0']],
['161.0', '127.0'],
['191.0', '200.0'],
['190.0', '241.0'],
['194.0', '68.0']],
[['176.0', '77.0'],
['183.0', '93.0'],
['163.0', '91.0'],
['155.0', '117.0']]......]
我尝试的代码标准化了整个列表。我想按行做。我试过以下
normalized_data = [normalize3(data) for data in load_pose_data()]
我将不胜感激任何帮助。谢谢
解决方案
除了@chenshuk 的回答,使用lambda
:
# example function that add element to a list
f=lambda x: x+[10]
outer_list = [[1,2],[3,4],[5,6]]
# this calls the function on each element
after = [ f(n) for n in outer_list ]
使用列表理解。
或者做map
:
所以代替(列表理解):
after = [ f(n) for n in outer_list ]
做:
after = list(map(f,outer_list))
两种情况:
print(after)
是:
[[1, 2, 10], [3, 4, 10], [5, 6, 10]]
推荐阅读
- python-3.x - 提交后Django表单字段未设置值
- installation - 使用 pip 安装 dlib 时遇到问题
- python-3.x - pandas groupby 并用有序列扩大数据框
- javascript - TypeScript中函数类型参数的ESLint未使用变量规则
- asp.net - 如何从 Html.DropDownListFor onchange 调用控制器中的方法?
- firebase - Flutter:通过 FlutterFire 发送电子邮件验证码?
- javascript - 在 JavaScript 中实现分隔的延续单子 - `reset` 幂等性错误
- html - 如何在 Angular 6 HTML 中循环填充下拉列表?
- java - 处理 Java 和 C# REST API 之间的 JSON 互操作
- python - 使用 Pyyaml 或 Ruamel.yaml 在 Python 中编辑 .yaml 文件