Using Python for Coding Interview Tips

February 24, 2019

Initialize array

nums = *10

Print array

nums = [1, 2, 3, 4, 5]
print(*nums)

Convert string to char array

chars = list("abc")
chars = 'x'

You can access string char using array index, but you can’t assign them

text = 'hello'
if text == 'h':
text = 'x' # error, you can't do character assignment to string

Remove element from list

del nums[index]

Convert char to ascii, and ascii to char

ord('a') # 97
chr(97)  # a

List index

nums = [1, 2, 3, 4, 5]

First element.

nums

Last element.

nums[-1]

First n elements.

nums[:n]

Last n elements.

nums[-n:]

Insert character

text = 'abde' # insert c -> abcde
index = 2
value = text[:index] + 'c' + text[index:]

Integer overflow

Integer won’t overflow in Python (theoretically limited by memory)

import sys
value = sys.maxsize

print(value) # 9223372036854775807
print(value ** 10) # 4455508415646675013373597242420117818453694838130159772560668808816707086990958982033203334310070688731662890013605553436739351074980172000127431349940128178077122187317837794167991459381249

However, float could overflow.

Python for loop with index

nums = [1, 2, 3, 4, 5]

Python for loop, start from index 0.

NOTE: For technical test, for loop with index is more convinient so you can do things like nums[i] + nums[i+1].

for i in range(len(nums)): # 0,1,2,3,4
print(nums[i])

Python for loop, start from index 1.

NOTE: For technical test, for loop with index allow you start start with any index or end with any index.

for i in range(1, len(nums)+1): # 1,2,3,4,5
print(nums[i-1])

Python for loop, reverse fron n-1 to 0.

for i in range(len(nums)-1, -1, -1): # 4, 3, 2, 1, 0
print(nums[i])

Data Structure

Queue in Python

from collections import deque
q = deque([1, 2, 3]) # initialize
q.append(4)

q.popleft() # 1
q.popleft() # 2

Stack in Python

s = []
s.append(1)
s.append(2)
s.append(3)
s.pop() # 3
s.pop() # 2
s.pop() # 1