When are dictionaries more useful than lists? explain with example.

Path Walla

  • Home
  • Computer Science
  • _Class 11
  • __Notes
  • __Sumita Arora
  • __NCERT
  • _Class 12
  • __Notes
  • __Sumita Arora
  • __NCERT
  • __Preeti Arora
  • Information Practices
  • _Class 11
  • __Notes
  • __Sumita Arora
  • __NCERT
  • __Preeti Arora
  • _Class 12
  • __Notes
  • __Sumita Arora
  • __NCERT
  • __Preeti Arora
  • Previous year question paper
  • _Class 11
  • _Class 12
  • Essay
HomeReview of Python Basics

Difference between List and Dictionary in Python

Lists are just like the arrays, declared in other languages. Lists need not be homogeneous always which makes it a most powerful tool in Python. A single list may contain DataTypes like Integers, Strings, as well as Objects. Lists are mutable, and hence, they can be altered even after their creation.
Example:

Python3




# Python program to demonstrate
# Lists
# Creating a List with
# the use of multiple values
List = ["Geeks", "For", "Geeks"]
print["List containing multiple values: "]
print[List[0]]
print[List[2]]
# Creating a Multi-Dimensional List
# [By Nesting a list inside a List]
List = [['Geeks', 'For'] , ['Geeks']]
print["\nMulti-Dimensional List: "]
print[List]

Output:

List containing multiple values: Geeks Geeks Multi-Dimensional List: [['Geeks', 'For'], ['Geeks']]

Dictionary in Python on the other hand is an unordered collection of data values, used to store data values like a map, which unlike other Data Types that hold only single value as an element, Dictionary holds key:value pair. Key-value is provided in the dictionary to make it more optimized. Each key-value pair in a Dictionary is separated by a colon :, whereas each key is separated by a ‘comma’.
Example:

Python3




# Python program to demonstrate
# dictionary
# Creating a Dictionary
# with Integer Keys
Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print["Dictionary with the use of Integer Keys: "]
print[Dict]
# Creating a Dictionary
# with Mixed keys
Dict = {'Name': 'Geeks', 1: [1, 2, 3, 4]}
print["\nDictionary with the use of Mixed Keys: "]
print[Dict]

Output:

Dictionary with the use of Integer Keys: {1: 'Geeks', 2: 'For', 3: 'Geeks'} Dictionary with the use of Mixed Keys: {1: [1, 2, 3, 4], 'Name': 'Geeks'}



Difference between List and Dictionary:

List Dictionary
List is a collection of index values pairs as that of array in c++. Dictionary is a hashed structure of key and value pairs.
List is created by placing elements in [ ] separated by commas “, “ Dictionary is created by placing elements in { } as “key”:”value”, each key value pair is separated by commas “, “
The indices of list are integers starting from 0. The keys of dictionary can be of any data type.
The elements are accessed via indices. The elements are accessed via key-values.
The order of the elements entered are maintained. There is no guarantee for maintaining order.

Space-Time Trade-Off

It is more efficient to use a dictionary for lookup of elements because it takes less time to traverse in the dictionary than a list.
For example, let’s consider a data set with 5000000 elements in a machine learning model that relies on the speed of retrieval of data. To implement this we have to choose wisely between two data structure i.e. list and dictionary. The dictionary is preferred because of less time and less space storage as dictionaries are implemented in the form of hash tables from python3.6 so it is never a space-time trade-off problem in dictionaries.
Example 1:

Python3




# Program to demonstrate
# space-time trade-off between
# dictionary and list
# To calculate the time
# difference
import time
# Creating a dictionary
d ={'john':1, 'alex':2}
x = time.time[]
# Accessing elements
print["Accessing dictionary elements:"]
for key in d:
print[d[key], end=" "]
y = time.time[]
print["\nTime taken by dictionary:", y-x]
# Creating a List
c =[1, 2]
x = time.time[]
print["\nAccessing List elements:"]
for i in c:
print[i, end=" "]
y = time.time[]
print["\nTime taken by dictionary:", y-x]

Output:

Accessing dictionary elements: 1 2 Time taken by dictionary: 1.0013580322265625e-05 Accessing List elements: 1 2 Time taken by dictionary: 3.5762786865234375e-06

Example 2:

Python3




# Program to fetch particular
# elements of structure
import time
# Creating dictionary and list
dict_name ={"bob":12, "john":11}
list_name =[2, 3, 4, 5, 1]
# Time taken by dictionary
x = time.time[]
L = dict_name["bob"]
y = time.time[]
print["Time taken by dictionary:", y-x]
# Time taken by list
x = time.time[]
L = list_name[2]
y = time.time[]
print["\nTime taken by list:", y-x]

Output:

Time taken by dictionary: 9.5367431640625e-07 Time taken by list: 4.76837158203125e-07

Note: It took more time for fetching a single element in a list than that of a dictionary because dictionary uses hashtable for implementing the arrangement.




Article Tags :
Python
python-dict
python-list
Practice Tags :
python-dict
python-list
Read Full Article

Difference between list and dictionary

List and dictionary are fundamentally different data structures . A list can store a sequence of objects in a certain order such that you can index into the list, or iterate over the list. Moreover, List is a mutable type meaning that lists can be modified after they have been created. Python dictionary is an implementation of a hash table and is a key-value store. It is not ordered and it requires that the keys are hashtable. Also, it is fast for lookups by key.

Elements in a list have the following characteristics:

  1. They maintain their ordering unless explicitly re-ordered [for example, by sorting the list].
  2. They can be of any type, and types can be mixed.
  3. They are accessed via numeric [zero based] indices.

Elements in a Dictionary have the following characteristics:

  1. Every entry has a key and a value
  2. Ordering is not guaranteed
  3. Elements are accessed using key values
  4. Key values can be of any hashtable type [i.e. not a dict] and types can be mixed
  5. Values can be of any type [including other dict’s], and types can be mixed
Usage:

Use a dictionary when you have a set of unique keys that map to values and to use a list if you have an ordered collection of items.


Next:Different file processing modes supported by Python




  • Python Interview Questions [Part 2]
  • Python Interview Questions [Part 3]
  • What is python used for?
  • Is Python interpreted, or compiled, or both?
  • Explain how python is interpreted
  • How do I install pip on Windows?
  • How do you protect Python source code?
  • What are the disadvantages of the Python?
  • How would you achieve web scraping in Python?
  • How to Python Script executable on Unix
  • What is the difference between .py and .pyc files?
  • What is __init__.py used for in Python?
  • What does __name__=='__main__' in Python mean?
  • What is docstring in Python?
  • What is the difference between runtime and compile time?
  • How to use *args and **kwargs in Python
  • Purpose of "/" and "//" operator in python?
  • What is the purpose pass statement in python?
  • Why isn't there a switch or case statement in Python?
  • How does the ternary operator work in Python?
  • What is the purpose of "self" in Python
  • How do you debug a program in Python?
  • What are literals in python?
  • What is Python's parameter passing mechanism?
  • What is the process of compilation and Loading in python?
  • Global and Local Variables in Python
  • Is there a tool to help find bugs or perform static analysis?
  • What does the 'yield' keyword do in Python?
  • Comparison Operators != is not equal to in Python
  • What is the difference between 'is' and '==' in python
  • What is the difference between = and == in Python?
  • How are the functions help[] and dir[] different?
  • What is the python keyword "with" used for?
  • Is all the memory freed when Python exits?
  • Difference between Mutable and Immutable in Python
  • Explain split[] methods of "re" module in Python
  • Accessor and Mutator methods in Python
  • How to Implement an 'enum' in Python
  • Important characteristics of Python Objects
  • How to determine the type of instance and inheritance in Python
  • How would you implement inheritance in Python?
  • How is Inheritance and Overriding methods are related?
  • How can you create a copy of an object in Python?
  • How to avoid having class data shared among instances in Python?
  • Static class variables in Python
  • Difference between @staticmethod and @classmethod in Python
  • How to Get a List of Class Attributes in Python
  • Does Python supports interfaces like in Java or C#?
  • What is used to create Unicode string in Python?
  • Difference between lists and tuples in Python?
  • Different file processing modes supported by Python
  • How do you append to a file in Python?
  • What are the differences between the threading and multiprocessing?
  • Is there any way to kill a Thread in Python?
  • What is the use of lambda in Python?
  • What is map, filter and reduce in python?
  • Is monkey patching considered good programming practice?
  • What is "typeerror: 'module' object is not callable"
  • Python: TypeError: unhashable type: 'list'
  • How to convert bytes to string in Python?
  • What are metaclasses in Python?




Video liên quan

Bài mới nhất

Chủ Đề