You are currently viewing Python – Присвоение ключевых значений элементам списка из словаря списка значений

Python – Присвоение ключевых значений элементам списка из словаря списка значений

Заданный список элементов сопоставьте их с ключами соответствующего значения из списка значений.

Вход : test_list = [4, 6, 3, 5, 3], test_dict = {“Gfg” : [5, 3, 6], “is” : [8, 4]}
выход : [‘is’, ‘Gfg’, ‘Gfg’, ‘Gfg’, ‘Gfg’]
объяснение : 4 находится в “это” ключ, следовательно, отображается в новый список.
Вход : test_list = [6, 3, 5, 3], test_dict = {“Gfg” : [5, 3, 6], “is” : [18, 14]}
выход : [‘Gfg’, ‘Gfg’, ‘Gfg’, ‘Gfg’]
объяснение : все элементы, присутствующие в “Gfg” ключ.

Метод № 1 : Использование понимания списка

Это один из способов, которым может быть выполнена эта задача. В этом случае мы извлекаем каждый элемент списка значений словаря, чтобы проверить вхождение значения в список, если оно совпадает, мы присваиваем значение этого ключа этому индексу.

Метод № 1 : Использование понимания списка

Это один из способов, которым может быть выполнена эта задача. В этом случае мы извлекаем каждый элемент списка значений словаря, чтобы проверить вхождение значения в список, если оно совпадает, мы присваиваем значение этого ключа этому индексу.

# Python3 code to demonstrate working of
# Assigning Key values to list elements from Value list Dictionary
# Using list comprehension

# initializing list
test_list = [4, 6, 3, 10, 5, 3]

# printing original list
print("The original list : " + str(test_list))

# initializing dictionary
test_dict = {"Gfg" : [5, 3, 6], "is" : [8, 4], "Best" : [10, 11]}

# nested loop inside list comprehension to check each key
res = [key for ele in test_list
	for key, val in test_dict.items() if ele in val]

# printing result
print("The filtered list : " + str(res))

Выход:

Первоначальный список : [4, 6, 3, 10, 5, 3]
Отфильтрованный список : ['is', 'Gfg', 'Gfg', 'Best', 'Gfg', 'Gfg']

Метод № 2 : Использование понимания словаря + понимание списка

Это еще один способ, которым можно выполнить эту задачу. В этом мы создаем обратный словарь и сопоставляем каждое значение списка с его ключом, сообщая, что каждый ключ сопоставляется с элементами списка ключей аргументов для сопоставления значения ключа.

# Python3 code to demonstrate working of
# Assigning Key values to list elements from Value list Dictionary
# Using dictionary comprehension + list comprehension

# initializing list
test_list = [4, 6, 3, 10, 5, 3]

# printing original list
print("The original list : " + str(test_list))

# initializing dictionary
test_dict = {"Gfg" : [5, 3, 6], "is" : [8, 4], "Best" : [10, 11]}

# creating inverse dictionary of elements
temp = {j : i for i, k in test_dict.items() for j in k}

# creating end result by mapping elements
res = [temp.get(key) for key in test_list]

# printing result
print("The filtered list : " + str(res))

Выход:

Первоначальный список : [4, 6, 3, 10, 5, 3]
Отфильтрованный список : ['is', 'Gfg', 'Gfg', 'Best', 'Gfg', 'Gfg']