PCEP Practice Test: Lists in Lists - Matrices and Cubes
PCEP Certification Practice Test - Questions, Answers and Explanations
Here are 25 questions focusing on the topic "lists in lists: matrices and cubes" for the PCEP-30-02 certification exam. The questions include various formats such as single-select, multiple-select, gap fill, code insertion, sorting, and rearranging style questions. Each question is followed by the correct answer and an explanation.
Question 1: What is a matrix in Python?
- A list with multiple data types
- A list containing other lists as elements
- A function for generating numbers
- A method to sort lists
Answer: b) A list containing other lists as elements
Explanation: A matrix in Python is commonly represented as a list of lists, where each sub-list represents a row.
Question 2: How do you access the element in the second row and third column of a 2D list named matrix?
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
- matrix[1][2]
- matrix[2][1]
- matrix[3][2]
- matrix[1, 2]
Answer: a) matrix[1][2]
Explanation: Indexing in Python starts at 0, so matrix[1][2] accesses the second row and third column, which is 6.
Question 3: What is the correct way to initialize a 3x3 matrix with all zeroes?
- matrix = [[0 for i in range(3)] for j in range(3)]
- matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
- matrix = [[0] * 3 for i in range(3)]
- All of the above
Answer: d) All of the above
Explanation: All options correctly create a 3x3 matrix filled with zeroes.
Question 4: Which of the following are valid ways to access elements in a 2D list? (Choose all that apply)
- matrix[1][2]
- matrix[0][0]
- matrix[2, 1]
- matrix[1]
Answer: a) matrix[1][2], b) matrix[0][0], d) matrix[1]
Explanation: Accessing elements in a 2D list requires double indexing like matrix[1][2] or single indexing like matrix[1] to get an entire row. Option c) uses incorrect syntax.
Question 5: Which of the following code snippets correctly create a 2x2 matrix? (Choose two)
- matrix = [[1, 2], [3, 4]]
- matrix = [1, 2, 3, 4]
- matrix = [[1, 2], [3, 4], [5, 6]]
- matrix = [[1, 2], [3, 4]] * 2
Answer: a) matrix = [[1, 2], [3, 4]], d) matrix = [[1, 2], [3, 4]] * 2.
Explanation: Both a) and d) create a valid 2x2 matrix. Option b) is a 1D list, and option c) is a 3x2 matrix.
Question 6: A 3D list in Python can be thought of as a __________ of 2D matrices.
▼Answer: collection
Explanation: A 3D list is essentially a collection of 2D matrices, where each element in the 3D list is a matrix.
Question 7: The expression cube[1][2][0] accesses an element from a __________ list.
▼Answer: 3D
Explanation: The expression involves three levels of indexing, indicating it accesses an element from a 3D list (a list of lists of lists).
Question 8: Arrange the following code statements in the correct order to create a 3x3 identity matrix:
- identity_matrix = [[0, 0, 0], [0, 1, 0], [0, 0, 1]]
- print(identity_matrix)
- identity_matrix = [[1 if i == j else 0 for j in range(3)] for i in range(3)]
Answer: c) identity_matrix = [[1 if i == j else 0 for j in range(3)] for i in range(3)]
b) print(identity_matrix)
Explanation: The identity matrix is created using list comprehension, where 1s are placed along the diagonal. Then it is printed.
Question 9: Arrange the following code snippets in the correct order to initialize a 2x2x2 cube with all elements set to 1:
- print(cube)
- cube = [[[1 for k in range(2)] for j in range(2)] for i in range(2)]
Answer: b) cube = [[[1 for k in range(2)] for j in range(2)] for i in range(2)]
a) print(cube)
Explanation: The 3D list (cube) is created first using nested list comprehensions, then it is printed.
Question 10: Complete the code to create a 4x4 matrix with all elements set to 7:
matrix = [[__________ for j in range(4)] for i in range(4)]▼
Answer: 7
Explanation: The list comprehension [7 for j in range(4)] generates a row of 7s, and the outer loop repeats this row 4 times.
Question 11: Complete the code to create a 2x2 matrix using nested list comprehensions:
matrix = [[__________] for i in range(2)]▼
Answer: [0, 1]
Explanation: The inner list [0, 1] creates a row, and the outer loop repeats this row 2 times to form a 2x2 matrix.
Question 12: Insert the correct code to create a 3D list (2x2x2 cube) with all elements initialized to 0:
cube = __________▼
Answer: [[[0 for k in range(2)] for j in range(2)] for i in range(2)]
Explanation: The code uses three nested list comprehensions to create a 2x2x2 cube where each element is 0.
Question 13: Insert the correct code to access the element in the third row and second column of a 4x4 matrix named matrix:
element = __________▼
Answer: matrix[2][1]
Explanation: In Python, indexing starts at 0, so matrix[2][1] accesses the third row and second column.
Question 14: Rearrange the code to create a 3x3 matrix where each element is the sum of its row and column indices:
- print(matrix)
- for i in range(3):
- matrix = [[i + j for j in range(3)] for i in range(3)]
Answer: c) matrix = [[i + j for j in range(3)] for i in range(3)]
a) print(matrix)
Explanation: The matrix is created first using list comprehension, where each element is the sum of its row and column indices.
Question 15: Organize the steps to initialize a 4x4 matrix with each element set to its row index:
- print(matrix)
- matrix = [[i for j in range(4)] for i in range(4)]
Answer: b) matrix = [[i for j in range(4)] for i in range(4)]
a) print(matrix)
Explanation: The matrix is created using list comprehension where each element in a row is set to the row index i.
Question 16: What does the following code output?
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[2][0])
- 1
- 7
- 3
- 3
Answer: b) 7
Explanation: The code accesses the first element of the third row, which is 7.
17. What does the following code output?
cube = [[[1 for k in range(2)] for j in range(2)] for i in range(2)] print(cube[1][0][1])
- 1
- 0
- 2
- None
Answer: a) 1
Explanation: The code accesses the element at the specified indices in a 2x2x2 cube, which is 1.
Question 18: A 2D list in Python is represented as a list containing other lists.
- True
- False
Answer: a) True
Explanation: A 2D list is a list where each element is itself a list, representing rows of a matrix.
Question 19: Accessing an element in a 3D list requires three levels of indexing.
- True
- False
Answer: a) True
Explanation: In a 3D list (a list of lists of lists), three indices are needed to access a specific element.
Question 20: What happens if you try to access an element that is out of bounds in a matrix?
- It returns None
- It raises an IndexError
- It returns an empty list
- It raises a TypeError
Answer: b) It raises an IndexError
Explanation: Accessing an index that does not exist in a list results in an IndexError.
Question 21: Which of the following statements about matrices and cubes is correct?
- A matrix can only have numeric data.
- A cube is a 3D list, with lists nested three levels deep.
- List comprehensions cannot be used to generate matrices.
- Python does not support matrices or cubes natively.
Answer: b) A cube is a 3D list, with lists nested three levels deep.
Explanation: A cube is a list of lists of lists, making it a 3D structure in Python.
Question 22: Which of the following expressions correctly creates a 2x3 matrix?
- [[1, 2, 3] for _ in range(2)]
- [[1, 2] for _ in range(3)]
- [[1, 2, 3]] * 2
- [[1, 2, 3, 4] for _ in range(2)]
Answer: a) [[1, 2, 3] for _ in range(2)]
Explanation: The list comprehension [[1, 2, 3] for _ in range(2)] correctly creates a 2x3 matrix.
Question 23: A 3D list can be visualized as a __________ of 2D matrices.
▼Answer: stack
Explanation: A 3D list can be visualized as a stack of 2D matrices, where each matrix is a layer in the 3D structure.
Question 24: The expression matrix[1][2] accesses the element in the second __________ and third column of the matrix.
▼Answer: row
Explanation: The first index represents the row, and the second index represents the column.
Question 25: What is the output of the following code?
matrix = [[10, 20], [30, 40]] print(matrix[1][1])
- 10
- 20
- 30
- 40
Answer: d) 40
Explanation: The code accesses the second row and second column of the matrix, which contains the value 40.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics