CMU Coding Bootcamp
1from typing import Sequence
2
3
4def isPalindromicList(L: Sequence) -> bool:
5 """Check if a list is palindromic."""
6 for i in range(len(L) // 2):
7 if L[i] != L[-i - 1]:
8 return False
9 return True
10
11
12print("Testing isPalindromicList()...", end="")
13assert isPalindromicList([1, 2, 2, 1]) == True
14assert isPalindromicList([1, 2, 3, 1]) == False
15assert isPalindromicList([1]) == True
16assert isPalindromicList([5.0, -1, True, "hey", True, -1, 5.0]) == True
17assert isPalindromicList([0, "hi", False, False, 4.0]) == False
18assert isPalindromicList([]) == True
19
20# Verify function is non-mutating
21L = [1, 2, 1]
22assert isPalindromicList(L) == True
23assert L == [1, 2, 1]
24
25L = [1, 9, 8]
26assert isPalindromicList(L) == False
27assert L == [1, 9, 8]
28print("Passed!")