Мой список:
candidates= [[714, 1023, 768, 1078], [803, 938, 868, 995]]
Мой словарь:
main_dict = {(1561, 48, 1623, 105): [[[1592, 58]],
[[1591, 59]],
[[1585, 59]],
[[1600, 58]]],
(714, 1023, 768, 1078): [[[1, 5]],
[[2, 6]],
[[3, 3]],
[[4, 3]]],
(803, 938, 868, 995): [[[14, 5]],
[[22, 64]],
[[34, 31]],
[[43, 32]]]
}
Я хотел бы иметь 2 списка, candidate_values_exists_in_dict_key
которые содержат соответствующие values
из candidates
, которые существуют в main_dict
, а другой список содержит values
, которые находятся в main_dict
, но не в candidate_values_exists_in_dict_key
.
Вот то, что я пробовал, очень беспорядочно и медленно. Может у кого-нибудь есть более быстрый способ? Кроме того, как я могу иметь оператор else, который имеет список ключей v
, которые не существуют в candidate_values_exists_in_dict_key
, но в main_dict
?
Гарантируется, что значения candidates
всегда будут в клавишах main_dict
и в том же порядке появления, что и candidates
.
candidate_values_exists_in_dict_key = []
values_of_main_dict_not_in_candidates_values_list=[]
for x in candidates:
for k, v in main_dict.items():
if x == list(k):
candidate_values_exists_in_dict_key.append(v)