Convert List to Single Dictionary Key - Value list - Python
Last Updated :
21 Jan, 2025
We are given a list and a element K, our aim is to transform the given list into a dictionary where the specified element (Kth
element) becomes the key and the rest of the elements form the value list. For example: if the given list is: [6, 5, 3, 2] and K = 1 then the output will be {5: [6, 3, 2]}.
Using a Loop
This method involves iterating through the list and selecting the Kth
element as the dictionary key and the other elements are appended to a list thus forming the value for that key.
Python
li = [5, 6, 3, 8, 9]
k = 3
# creating the dictionary with Kth element as key
res = {li[k]: []}
# iterating through the list to add non-Kth elements as values
for i in range(len(li)):
if i != k:
res[li[k]].append(li[i])
print("Records after conversion:", res)
OutputRecords after conversion: {8: [5, 6, 3, 9]}
Using list slicing
In this method we use slicing to directly extract all elements except the Kth
element and then assigns them as the value in the dictionary making it an efficient approach.
Python
li = [5, 6, 3, 8, 9]
k = 3
# using slicing to create the dictionary
res = {li[k]: li[:k] + li[k+1:]}
print("After conversion:", res)
OutputAfter conversion: {8: [5, 6, 3, 9]}
Explanation:
Kth
element of the list (l[k]
) is directly used as the dictionary key.- The values of dictionary are derived by concatenating two slices of the list:
l[:k]
(elements before the Kth
index) and l[k+1:]
(elements after the Kth
index).
Using Dictionary Comprehension
In this method we use dictionary comprehension to construct the dictionary, the list is iterated over using enumerate()
to access both the index and value and a condition is applied to exclude the Kth
element from the value list.
Python
li = [5, 6, 3, 8, 9]
k = 3
# using dictionary comprehension to create the dictionary
res = {li[k]: [x for i, x in enumerate(li) if i != k]}
print(res)
Explanation:
- The key in the dictionary is taken from the
Kth
element (l[k]
). - Dictionary comprehension iterates over the list and includes all elements except the
Kth
one, using enumerate()
to get both the index and the value.
Using filter and lambda function
We use a lambda function to filter out the element at the Kth index and then filter() function is used to keep only the elements that are not equal to the element at index K. The filtered list is then used to create the dictionary.
Python
li = [5, 6, 3, 8, 9]
k = 3
# using filter and lambda function to exclude the element at index K
res = {li[k]: list(filter(lambda x: x != li[k], li))}
print("After conversion : " + str(res))
OutputAfter conversion : {8: [5, 6, 3, 9]}
Explanation:
lambda
function is used inside filter()
to check if each element in the list is not equal to the element at index K
.- result from
filter()
is converted back to a list which is used as the value in the dictionary with the Kth
element as the key.
Using set operations
In this method we leverage set operations to extract the Kth element as the key and the rest of the elements as values. A set is created with the Kth element and another set is formed with all the elements except the one at index K then we take the difference between the sets to identify the remaining values. Finally, we create a dictionary where the key is the Kth element, and the value is the remaining list of elements.
Python
li = [5, 6, 3, 8, 9]
k = 3
# using set operations to extract the key and values
keys = {li[k]}
values = set(li) - keys
res = {keys.pop(): list(values)}
print("After conversion: ", res)
OutputAfter conversion: {8: [9, 3, 5, 6]}
Using the pop()
method
In this method we use pop() method to remove the element at index K from the list and store it as the dictionary key. The remaining list is then used as the value in the dictionary. Here, he pop() method not only removes the element from the list but also returns it thereby making it easy to assign to the dictionary key.
Python
li = [5, 6, 3, 8, 9]
k = 3
# popping the element at index K
key = li.pop(k)
# creating the dictionary
res = {key: li}
print("After conversion: ", res)
OutputAfter conversion: {8: [5, 6, 3, 9]}
Explanation: pop() method removes the element at the specified index K and stores it in the variable key and the remaining elements in the list are assigned as the value in the dictionary with key as the key.
Similar Reads
Python - Convert Key-Value list Dictionary to List of Lists We are given a key value list dictionary we need to convert it list of lists. For example we are given a dictionary a = {'name': 'Geeks', 'age': 8, 'city': 'Noida'} we need to convert this into list of lists so the output should be [['name', 'Geeks'], ['age', 25], ['city', 'Geeks']]. Using List Comp
2 min read
Convert Dictionary Value list to Dictionary List Python Sometimes, while working with Python Dictionaries, we can have a problem in which we need to convert dictionary list to nested records dictionary taking each index of dictionary list value and flattening it. This kind of problem can have application in many domains. Let's discuss certain ways in whi
9 min read
Python - Convert key-values list to flat dictionary We are given a list that contains tuples with the pairs of key and values we need to convert that list into a flat dictionary. For example a = [("name", "Ak"), ("age", 25), ("city", "NYC")] is a list we need to convert it to dictionary so that output should be a flat dictionary {'name': 'Ak', 'age':
3 min read
Convert Dictionary to String List in Python The task of converting a dictionary to a string list in Python involves transforming the key-value pairs of the dictionary into a formatted string and storing those strings in a list. For example, consider a dictionary d = {1: 'Mercedes', 2: 'Audi', 3: 'Porsche', 4: 'Lambo'}. Converting this to a st
3 min read
Python Convert Dictionary to List of Values Python has different types of built-in data structures to manage your data. A list is a collection of ordered items, whereas a dictionary is a key-value pair data. Both of them are unique in their own way. In this article, the dictionary is converted into a list of values in Python using various con
3 min read