Как добавить / слить / сопоставить значения одного и того же индекса или ключа и игнорировать значения, у которых нет соответствующего индекса или ключа? - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь соединить / объединить значения списка из двух списков одного индекса или пары ключ-значение вместе.Если значение не имеет ключа, то оно не должно соединяться, а если оно имеет ключ, то оно должно.

Я попытался добавить значения, используя их индекс, однако он возвращает IndexError: list index outдиапазона.Я связал их, используя их ключи, но выходные данные не являются моим желаемым выходоми только если он соответствует ключу, иначе он не должен ничего выводить.

Я не уверен, как это решить.Заранее спасибо

1 Ответ

0 голосов
/ 31 декабря 2018

Если я правильно понял, вы могли бы сделать:

list1 = [[0, 1], [1, 2], [3, 1]]
list2 = ["append", "values", "to", "one", "another"]

# create lookup tables (index, values)
lookup1 = {k : [k, v] for k, v in list1}
lookup2 = {i : v for i, v in enumerate(list2)}

merge = {lookup2[k] : v  for k, v in lookup1.items()}

print(merge)

Выход

{'append': [0, 1], 'one': [3, 1], 'values': [1, 2]}

Обратите внимание, что это решение предполагает, что первые значения подсписковв list1 соответствуют показателям.

...