首页 > 解决方案 > 遍历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()] 

我将不胜感激任何帮助。谢谢

标签: pythonlist

解决方案


除了@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]]

推荐阅读