Difference Between List and Dictionary in Python

In Python, lists and dictionaries are recognized as data types that serve as collections of information. A list represents an ordered collection that organizes items via index numbers, making it suitable for handling sequences of data. Conversely, a dictionary organizes data in key-value pairs, facilitating quick and adaptable access through unique keys.

What is a List in Python?

In Python, a List is a sequential and changeable collection of items. It enables us to execute a range of modifications, such as inserting, deleting, or altering elements. Any data type can be contained within a list, including integers, strings, or even another list.

Characteristics of Lists:

Several chracteristics of Lists in Python are as follows:

  • Ordered: In this, A List maintains a particular order of its elements with an index starting from 0.
  • Mutable: In the Mutable data type, we can edit or make changes to the elements.
  • Dynamic: The List can grow or shrink in size dynamically.
  • Supports Multiple Data Types: A list can contain elements of various and distinct data types.
  • The List uses square brackets () for declaration.
  • Python List Example

To illustrate the concept of a List in Python, we can consider an example.

Example

Example

# Creating a list

my_list = [14, 'banana', 8.2]

# printing the list

print("Initialized list:", my_list)

print("Data Type:", type(my_list))

Output:

Output

Initialized list: [14, 'banana', 8.2]

Data Type: <class 'list'>

Explanation:

In the example below, we have generated a list with square brackets and displayed it. It is evident that the created list contains various data types, including integers, strings, and floats.

What is a Python Dictionary?

A Dictionary is an intrinsic data type in Python utilized for holding data in 'key: value' pairs. While dictionaries are inherently unordered (from Python 3.7 onwards, they retain the order of insertion), they are mutable and indexed collections, with each key being distinct and corresponding to a value. Typically, they are employed to manage related data, such as details linked to a particular entity or object, allowing for straightforward retrieval of the value using its key.

Characteristics of a Dictionary:

Several characteristics of a Dictionary in Python are as follows:

  • Unordered: In this, A Dictionary does not maintain a particular order.
  • Mutable: In the Mutable data type, we can edit or make changes to the elements.
  • Keys- Value Pairs: The values in the Dictionary are stored as a collection of unique keys, and every key has its unique value.
  • Dynamic: The List can grow or shrink in size dynamically.
  • Supports Multiple Data Types: A list can contain elements of various and distinct data types.
  • Unique and Immutable Keys: The Dictionary keys are unique and immutable, such as strings, integers, and floats.
  • The Dictionary uses square brackets ({}) for declaration.
  • Python Dictionary Example

To illustrate the concept of a Dictionary in Python, let us consider an example.

Example

Example

# Creating a dictionary

my_dict = {'name': 'John', 'age': 23, 'salary': 69000}

# printing the dictionary

print("Initialized dictionary:", my_dict)

print("Data Type:", type(my_dict))

Output:

Output

Initialized dictionary: {'name': 'John', 'age': 23, 'salary': 69000}

Data Type: <class 'dict'>

Explanation:

In this instance, we have constructed a dictionary that includes multiple key: value pairs, which are delineated by commas and enclosed within curly braces {}.

Key Differences between Lists and Dictionaries

The following are key differences between Lists and Dictionaries in Python:

Feature List Dictionary
Definition Ordered collection of items Unordered (insertion-ordered from Python 3.7+) key: value pairs
Syntax [] (Square brackets) {} (Curly braces)
Data Access By index (e.g., my_list[0]) By key (e.g., my_dict['a'])
Indexing Uses numeric index (0, 1, 2, ...) Uses keys (can be strings, numbers, etc.)
Ordering Maintains order of items Maintains insertion order (Python 3.7+)
Mutability Mutable (can change items) Mutable (can add, remove, or change key: value pairs)
Duplicates Allows duplicate values Keys must be unique; values can be duplicated
Best Used For Collections of similar items (like a list of numbers) Related data pairs (like name: age, product: price, etc.)
Iteration Iterates over values Iterates over keys (or values/items using .values() or .items())
Memory Usage Less than dictionary (generally) Slightly more due to key: value pair structure
Search Time Complexity O(n) slower for lookups O(1) on average faster with hash table
Nested Structures Can contain other lists Can contain other dictionaries or mixed data types

Difference between Lists and Dictionaries in Python FAQs

1. What is the basic difference between a list and a dictionary?

A list represents a sequential arrangement of elements that can be retrieved using their indices, in contrast, a dictionary is a non-sequential collection of key-value pairs that are accessed through their respective keys. Lists are effective for holding sequences, whereas dictionaries are more suitable for representing relationships among data.

2. How are elements accessed in a list and a dictionary?

  • In a list, elements are accessed by their numeric index starting from 0.
  • In a dictionary, elements are accessed using their keys, which are commonly strings or numbers.
  • 3. Are lists and dictionaries mutable?

Indeed, both lists and dictionaries possess mutability. It is feasible to add, delete, or alter their elements after their initial creation.

4. Do lists and dictionaries maintain order?

  • Lists, as their name suggests, maintain the order of elements.
  • Dictionaries did not maintain order prior to Python 3.7, but from 3.7 onward, they preserve the order of key: value pairs based on insertion.
  • 5. Can we use duplicate values in a list or a dictionary?

  • Items in Lists can repeat.
  • In Dictionaries, Keys must be unique, but values can repeat.

Input Required

This code uses input(). Please provide values below: