перебрать список списка в Python - PullRequest
0 голосов
/ 29 октября 2018

У меня есть список следующего типа. Я хочу нормализовать этот список, используя функцию, которую я написал. например - normalize (). Я хочу передать второй самый внутренний список в 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()] 

Буду признателен за любую помощь. Спасибо

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

В дополнение к ответу @ 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 ]

Do:

after = list(map(f,outer_list))

Оба случая:

print(after)

Является:

[[1, 2, 10], [3, 4, 10], [5, 6, 10]]
0 голосов
/ 29 октября 2018

Вы можете использовать понимание списка, чтобы достичь этого.

пример:

# example function that add element to a list
def f(x):
    return 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 ]

after
[[1, 2, 10], [3, 4, 10], [5, 6, 10]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...