Как я могу вставить значения списка во вложенный список? - PullRequest
2 голосов
/ 27 февраля 2020

У меня есть такой вложенный список:

ll =
[[[0, 0.01655718859584843],
  [1, 0.03777621092166489],
  [2, 0.02162311536578436],
  [3, 0.02907007584458954]],
 [[0, 0.011912058415296719],
  [1, 0.07967490411502279],
  [2, 0.04067120278932331],
  [3, 0.05439173103552319]]]

Я хочу вставить записи второго списка:

uu =
[4577911, 4577821]

в индекс 0 соответствующего подсписка.

Итак, в первый подсписок ll Я хочу вставить первую запись uu следующим образом:

[[[4577911, 0, 0.01655718859584843],
  [4577911, 1, 0.03777621092166489],
  [4577911, 2, 0.02162311536578436],
  [4577911, 3, 0.02907007584458954]],
 [[4577821, 0, 0.011912058415296719],
  [4577821, 1, 0.07967490411502279],
  [4577821, 2, 0.04067120278932331],
  [4577821, 3, 0.05439173103552319]]]

Однако мой код выдаёт странные результаты

tu = ([[[u + x] for x in t] for t in ll for u in uu])

Как я могу сделать это правильно?

1 Ответ

2 голосов
/ 27 февраля 2020

Использование понимания вложенного списка с zip

Пример:

ll = [[[0, 0.01655718859584843],
  [1, 0.03777621092166489],
  [2, 0.02162311536578436],
  [3, 0.02907007584458954]],
  [[0, 0.011912058415296719],
  [1, 0.07967490411502279],
  [2, 0.04067120278932331],
  [3, 0.05439173103552319]]]

uu = [4577911, 4577821]

print([[[i] + k for k in j] for i, j in zip(uu, ll)])

Вывод:

[[[4577911, 0, 0.01655718859584843],
  [4577911, 1, 0.03777621092166489],
  [4577911, 2, 0.02162311536578436],
  [4577911, 3, 0.02907007584458954]],
 [[4577821, 0, 0.011912058415296719],
  [4577821, 1, 0.07967490411502279],
  [4577821, 2, 0.04067120278932331],
  [4577821, 3, 0.05439173103552319]]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...