Bird
Raised Fist0
DSA Pythonprogramming~20 mins

Array Declaration and Initialization in DSA Python - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Initialization Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Array Initialization with List Multiplication
What is the output of the following Python code that initializes a 2D array using list multiplication and then modifies one element?
DSA Python
arr = [[0]*3]*3
arr[0][0] = 1
print(arr)
A[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
B[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
C[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
DSyntaxError
Attempts:
2 left
💡 Hint
Think about how list multiplication affects inner lists and references.
❓ Predict Output
intermediate
2:00remaining
Output of Array Initialization Using List Comprehension
What is the output of this Python code that initializes a 2D array using list comprehension and modifies one element?
DSA Python
arr = [[0 for _ in range(3)] for _ in range(3)]
arr[0][0] = 1
print(arr)
A[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
B[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
C[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
DTypeError
Attempts:
2 left
💡 Hint
List comprehension creates independent inner lists.
🧠 Conceptual
advanced
2:00remaining
Understanding Array Initialization Behavior
Why does using arr = [[0]*3]*3 cause unexpected behavior when modifying elements in a 2D array?
ABecause it creates a 3x3 array with independent inner lists.
BBecause it initializes the array with zeros incorrectly.
CBecause it creates multiple references to the same inner list, so changes affect all rows.
DBecause Python does not support 2D arrays.
Attempts:
2 left
💡 Hint
Think about how list multiplication works with nested lists.
❓ Predict Output
advanced
2:00remaining
Output of Array Initialization with Mixed Types
What is the output of this Python code that initializes an array with mixed types and prints it?
DSA Python
arr = [1, 'two', 3.0, [4], (5,)]
print(arr)
A[1, 2, 3, 4, 5]
B[1, 'two', 3.0, 4, 5]
CTypeError
D[1, 'two', 3.0, [4], (5,)]
Attempts:
2 left
💡 Hint
Python lists can hold different data types together.
🔧 Debug
expert
2:00remaining
Identify the Error in Array Initialization
What error does the following Python code raise when trying to initialize an array?
DSA Python
arr = [0]*3
arr[3] = 1
print(arr)
ASyntaxError
BIndexError
CTypeError
DNo error, prints [0, 0, 0, 1]
Attempts:
2 left
💡 Hint
Check the valid indices for the list.

Practice

(1/5)
1. Which of the following is the correct way to declare and initialize an array of integers with values 1, 2, and 3 in Python?
easy
A. arr = (1, 2, 3)
B. arr = [1, 2, 3]
C. arr = {1, 2, 3}
D. arr = int[3]

Solution

  1. Step 1: Understand Python array syntax and check each option

    In Python, arrays are usually represented by lists, which use square brackets []. arr = [1, 2, 3] uses square brackets with values 1, 2, 3 which is correct. arr = (1, 2, 3) uses parentheses which create a tuple, not an array. arr = {1, 2, 3} uses curly braces which create a set, not an array. arr = int[3] is invalid syntax in Python.
  2. Final Answer:

    arr = [1, 2, 3] -> Option B
  3. Quick Check:

    List syntax = [1, 2, 3] [OK]
Hint: Use square brackets [] for arrays (lists) in Python [OK]
Common Mistakes:
  • Using parentheses () instead of square brackets
  • Using curly braces {} which create sets
  • Trying to declare array size like int[3]
2. Which of the following is the correct syntax to create an empty list in Python?
easy
A. list = ()
B. list = {}
C. list = []
D. list = empty()

Solution

  1. Step 1: Identify empty list syntax and evaluate options

    In Python, an empty list is created using empty square brackets []. list = [] uses [], which is correct. list = () uses parentheses which create an empty tuple. list = {} uses curly braces which create an empty dictionary. list = empty() is invalid syntax.
  2. Final Answer:

    list = [] -> Option C
  3. Quick Check:

    Empty list = [] [OK]
Hint: Empty list always uses [] brackets [OK]
Common Mistakes:
  • Using () which creates a tuple
  • Using {} which creates a dictionary
  • Trying to call empty() function which doesn't exist
3. What will be the output of the following code?
arr = [0] * 4
print(arr)
medium
A. Error
B. [0, 1, 2, 3]
C. [4, 4, 4, 4]
D. [0, 0, 0, 0]

Solution

  1. Step 1: Understand list multiplication and predict the output

    Multiplying a list by an integer repeats the list elements that many times. Here, [0] * 4 creates a list with four zeros. The print statement outputs the list: [0, 0, 0, 0].
  2. Final Answer:

    [0, 0, 0, 0] -> Option D
  3. Quick Check:

    [0] * 4 = [0, 0, 0, 0] [OK]
Hint: List * n repeats elements n times [OK]
Common Mistakes:
  • Expecting a range of numbers instead of repeated zeros
  • Confusing list multiplication with addition
  • Thinking it causes an error
4. Find the error in the following code snippet:
arr = [1, 2, 3]
arr[3] = 4
print(arr)
medium
A. IndexError: list assignment index out of range
B. SyntaxError
C. [1, 2, 3, 4]
D. [4, 2, 3]

Solution

  1. Step 1: Check list indices and analyze assignment at index 3

    List indices start at 0. For a list of length 3, valid indices are 0, 1, 2. Trying to assign arr[3] = 4 is invalid because index 3 does not exist yet, causing an IndexError.
  2. Final Answer:

    IndexError: list assignment index out of range -> Option A
  3. Quick Check:

    Index 3 invalid for length 3 list [OK]
Hint: List indices go from 0 to length-1 [OK]
Common Mistakes:
  • Trying to assign to an index outside the list
  • Confusing append with direct index assignment
  • Expecting automatic list resizing
5. You want to create a 2D array (list of lists) with 3 rows and 4 columns, all initialized to zero. Which code correctly does this without causing unexpected behavior?
hard
A.
arr = [[0 for _ in range(4)] for _ in range(3)]
print(arr)
B.
arr = [[0]*4]*3
print(arr)
C.
arr = [0]*3
for i in range(4):
    arr[i] = [0]*4
print(arr)
D.
arr = [[0]*3 for _ in range(4)]
print(arr)

Solution

  1. Step 1: Understand 2D array creation pitfalls and analyze each option

    Using [[0]*4]*3 creates 3 references to the same inner list, causing changes in one row to affect others.
    arr = [[0]*4]*3
    print(arr)
    creates shared inner lists (bad).
    arr = [[0 for _ in range(4)] for _ in range(3)]
    print(arr)
    uses nested list comprehension creating independent inner lists (correct).
    arr = [0]*3
    for i in range(4):
        arr[i] = [0]*4
    print(arr)
    has index errors and wrong loop ranges.
    arr = [[0]*3 for _ in range(4)]
    print(arr)
    creates 4 rows and 3 columns, which is reversed.
  2. Final Answer:

    arr = [[0 for _ in range(4)] for _ in range(3)] -> Option A
  3. Quick Check:

    Nested list comprehension avoids shared references [OK]
Hint: Use nested list comprehension for independent inner lists [OK]
Common Mistakes:
  • Using multiplication for nested lists causing shared references
  • Mixing up rows and columns sizes
  • Index errors in loops when initializing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard