Python
Python Basics
- Introduction to Python and Its History
- Python Syntax and Indentation
- Python Variables and Data Types
- Dynamic and Strong Typing
- Comments and Docstrings
- Taking User Input (input())
- Printing Output (print())
- Python Operators (Arithmetic, Logical, Comparison)
- Type Conversion and Casting
- Escape Characters and Raw Strings
Data Structures in Python
- Lists
- Dictionaries
- Dictionary Comprehensions
- Strings and String Manipulation
- Tuples
- Python Sets: Unordered Collections
- List Comprehensions and Generator Expressions
- Set Comprehensions
- String Formatting
- Indexing and Slicing
Control Flow and Loops
- Conditional Statements: if, elif, and else
- Loops and Iteration
- While Loops
- Nested Loops
- Loop Control Statements
- Iterators and Iterables
- List, Dictionary, and Set Iterations
Functions and Scope
- Defining and Calling Functions (`def`)
- Function Arguments (`*args`, `**kwargs`)
- Default Arguments and Keyword Arguments
- Lambda Functions
- Global and Local Scope
- Function Return Values
- Recursion in Python
Object-Oriented Programming (OOP)
- Object-Oriented Programming
- Classes and Objects
- the `__init__()` Constructor
- Instance Variables and Methods
- Class Variables and `@classmethod`
- Encapsulation and Data Hiding
- Inheritance and Subclasses
- Method Overriding and super()
- Polymorphism
- Magic Methods and Operator Overloading
- Static Methods
- Abstract Classes and Interfaces
Python Programs
- Array : Find median in an integer array
- Array : Find middle element in an integer array
- Array : Find out the duplicate in an array
- Array : Find print all subsets in an integer array
- Program : Array : Finding missing number between from 1 to n
- Array : Gap and Island problem
- Python Program stock max profit
- Reverse words in Python
- Python array duplicate program
- Coin change problem in python
- Python Write fibonacci series program
- Array : find all the pairs whose sum is equal to a given number
- Find smallest and largest number in array
- Iterate collections
- List comprehensions
- Program: Calculate Pi in Python
- String Formatting in Python
Key differences between List and Arrays
-
Data Types:
<ul><li>Lists can hold elements of different data types. For example, a list can contain integers, strings, and even other lists as its elements.</li><li>Arrays, on the other hand, are designed to store elements of the same data type. They are more suitable for numerical computations and working with homogeneous data.</li></ul></li><li><p><strong>Mutability:</strong></p><ul><li>Lists are mutable, which means you can add, remove, or modify elements after the list is created.</li><li>Arrays can be mutable or immutable, depending on the library used. The built-in array module in Python provides mutable arrays, while NumPy provides both mutable and immutable arrays.</li></ul></li><li><p><strong>Performance:</strong></p><ul><li>Lists are generally slower for numerical computations due to their flexibility in handling different data types.</li><li>Arrays, especially NumPy arrays, are designed for efficient numerical operations, making them faster and more memory-efficient for large datasets.</li></ul></li><li><p><strong>Functionality:</strong></p><ul><li>Lists offer a wide range of built-in methods for manipulation, such as append(), remove(), and sort().</li><li>Arrays, particularly NumPy arrays, provide extensive mathematical functions and operations, such as element-wise operations, matrix operations, and statistical functions.</li></ul></li><li><p><strong>Library Dependency:</strong></p><ul><li>Lists are a built-in data type in Python and do not require any external libraries.</li><li>Arrays, specifically NumPy arrays, require the NumPy library to be used effectively.</li></ul></li>
import array
def differentiate_array_and_list(): # Create a list and an array with the same elements my_list = [1, 2, 3, 4, 5] my_array = array.array('i', [1, 2, 3, 4, 5])
# Print the original list and array print("Original List:", my_list) print("Original Array:", my_array)
# Difference 1: Data Types # Lists can hold elements of different data types my_list.append("string") # Arrays are designed for elements of the same data type, so adding a string will raise an error try: my_array.append("string") except Exception as e: print("Error:", e)
# Difference 2: Mutability # Lists are mutable, so we can change their elements after creation my_list[2] = 100 print("Modified List:", my_list) # Arrays can be mutable or immutable, but in the array module, they are mutable my_array[2] = 100 print("Modified Array:", my_array)
# Difference 3: Performance # Lists are slower for numerical computations due to their flexibility list_sum = sum(my_list) print("List Sum:", list_sum) # Arrays, especially NumPy arrays, are faster for numerical computations array_sum = sum(my_array) print("Array Sum:", array_sum)
# Difference 4: Functionality # Lists have various built-in methods for manipulation my_list.reverse() print("Reversed List:", my_list) # Arrays have fewer built-in methods, as they are more focused on numerical operations
# Difference 5: Library Dependency # Lists are a built-in data type in Python, so they don't require external libraries # Arrays, particularly NumPy arrays, require the NumPy library to be used effectively
if __name__ == "__main__": differentiate_array_and_list()