List Comprehension is a handy and faster way to create lists in Python in just a single line of code. It helps us write easy to read for loops in a single line.
In Python, dictionary is a data structure to store data such that each element of the stored data is associated with a key. Dictionary data structure lets you query the data using key very efficiently.
VBScript Dictionary Objects - A Dictionary object can be compared to a PERL associative array. Any Values can be stored in the array and each item is associated with a unique key.
With Python, creating and using a dictionary is much like working with a list, except that you must now define a key and value pair. Here are the special rules for creating a key: The key must be unique. When you enter a duplicate key, the information found in the second entry wins — the first entry is simply replaced with the second. Python Initialize a dictionary with only keys from a list Given a List, the task is to create a dictionary with only keys by using given list as keys. Let’s see the different methods we can do this task. Dec 20, 2017 Creating Lists From Dictionary Keys And Values Using Python. Create a list from the dictionary keys. Create a list from the dictionary values.
The idea of comprehension is not just unique to lists in Python. Dictionaries, one of the commonly used data structures in data science, can also do comprehension. With dict comprehension or dictionary comprehension, one can easily create dictionaries.
Remember that, in python a list is defined with square brackets [] and a dictionary is defined with curly braces {}. The idea used in list comprehension is carried over in defining dict comprehension as well. Dict comprehension is defined with a similar syntax, but with a key:value pair in expression.
- {key:value for i in list}
Let us see 5 simple examples of using Dict Comprehension to create new dictionaries easily.
[update:] Added sixth example of dict comprehension to delete keys in a dictionary.
Dict Comprehension Example 1
Let us see a quick example of creating a dict comprehension from a list of numbers.
Here let us use a list of numbers and create a dictionary with string value of the number as key and the number as values.
Dict Comprehension Example 2
Let us say, we have a list of fruits and we can use dict comprehension to create a dictionary with fruits, the list elements as the keys and the length of each string as the values.
Dict Comprehension Example 3
Let us create a dictionary with dict comprehension such that elements of the list as the keys and the elements with first letter capitalized as the values.
Dict Comprehension Example 4
Let us use enumerate function in dictionary comprehension. If you have not used enumerate: enumerate can take any thing iterable as input and returns element and its index.
Here we use enumerate function on the list to create index and list element tuples and use them to create a dictionary with dict comprehension. We create a dictionary with elements of the list as the keys and the index of elements as the values. Such dictionaries with element index are often useful in a variety of scenarios.
Dict Comprehension Example 5
Another use of dict comprehension is to reverse key:value in an existing dictionary. Sometimes you may want to create new dictionary from an existing directory, such that the role of key:value pair in the first dictionary is reversed in the new dictionary. We can use Dict Comprehension and flip the element to index dictionary to index to element dictionary.
We have used dictionaries’ items function to get key, value pairs in an existing dictionary and created a new dictionary where the keys in the original dictionary are values in new dictionary and vice versa.
Dict Comprehension Example 6: How To Delete Selected Keys from Dictionary using Dict Comprehension?
Let us say you have dictionary and want to create a new dictionary by removing certain key-value pair. We can use Dict Comprehension to remove selected key-value pairs from a dictionary and create a new dictionary.
Let us use the “fruit” dictionary we created above.
Let us use diction comprehension to remove two keys, apple and banana, and their values from the fruit dictionary.
Generate Dictionary From List As Keys 2016
We have removed the keys, apple and cherry, by simply using dict keys object with set operations and now the new dictionary contains just banana and mango.
Related posts:
With Python, creating and using a dictionary is much like working with a list, except that you must now define a key and value pair. Here are the special rules for creating a key:
The key must be unique. When you enter a duplicate key, the information found in the second entry wins — the first entry is simply replaced with the second.
The key must be immutable. This rule means that you can use strings, numbers, or tuples for the key. You can’t, however, use a list for a key.
You have no restrictions on the values you provide. A value can be any Python object, so you can use a dictionary to access an employee record or other complex data. The following steps help you understand how to use dictionaries better.
1Open a Python Shell window.
You see the familiar Python prompt.
2Type Colors = {“Sam”: “Blue”, “Amy”: “Red”, “Sarah”: “Yellow”} and press Enter.
Python creates a dictionary containing three entries with people’s favorite colors. Notice how you create the key and value pair. The key comes first, followed by a colon and then the value. Each entry is separated by a comma.
3Type Colors and press Enter.
You see the key and value pairs. However, notice that the entries are sorted in key order. A dictionary automatically keeps the keys sorted to make access faster, which means that you get fast search times even when working with a large data set. The downside is that creating the dictionary takes longer than using something like a list because the computer is busy sorting the entries.
4Type Colors[“Sarah”] and press Enter.
You see the color associated with Sarah, Yellow. Using a string as a key, rather than using a numeric index, makes the code easier to read and makes it self-documenting to an extent.
By making your code more readable, dictionaries save you considerable time in the long run (which is why they’re so popular). However, the convenience of a dictionary comes at the cost of additional creation time and a higher use of resources, so you have trade-offs to consider.
5Type Colors.keys( ) and press Enter.
The dictionary presents a list of the keys it contains. You can use these keys to automate access to the dictionary.
6Type the following code (pressing Enter after each line and pressing Enter twice after the last line):
The example code outputs a listing of each of the user names and the user’s favorite color. Using dictionaries can make creating useful output a lot easier. The use of a meaningful key means that the key can easily be part of the output.
7Type Colors[“Sarah”] = “Purple” and press Enter.
The dictionary content is updated so that Sarah now likes Purple instead of Yellow.
8Type Colors.update({“Harry”: “Orange”}) and press Enter.
A new entry is added to the dictionary.
9Place your cursor at the end of the third line of the code you typed in Step 6 and press Enter.
The editor creates a copy of the code for you. This is a time-saving technique that you can use in the Python Shell when you experiment while using code that takes a while to type. Even though you have to type it the first time, you have no good reason to type it the second time.
Generate Dictionary From List As Keys In Windows 10
10Press Enter twice.
Notice that Harry is added in sorted order. In addition, Sarah’s entry is changed to the color Purple.
11Type del Colors[“Sam”] and press Enter.
Python removes Sam’s entry from the dictionary.
12Repeat Steps 9 and 10.
You verify that Sam’s entry is actually gone.
13Type len(Colors) and press Enter.
The output value of 3 verifies that the dictionary contains only three entries now, rather than 4.
14Type Colors.clear( ) and press Enter. Then, Type len(Colors) and press Enter.
Python reports that Colors has 0 entries, so the dictionary is now empty.